2016年5月16日 星期一

在後端執行dialog[ASP.net]

在自訂編輯時,需要把Gridview值放入textbox或是label。

由於要先進入gridview裡(後端)取得行號(Item)值,才能取得gridview裡一列的值,
所以要先進入後端,在執行前端的jQuery  打開Dialog。

要在後端執行Dialog的程式碼(在Gridview的RowCommand裡執行):


                string js = @"
            $( document ).ready(function() {
                 $('#dialogE').dialog({
                    title: '編輯視窗',
                    width: 660,
                    buttons: {
                        '更新': function () {

                            document.getElementById('btnUpdate').click();
                        },

                        '取消': function () {
                            $(this).dialog('close');
                            document.getElementById('div_gray').style.visibility = 'hidden';
                        }
                    },
                    modal: true
                });
            });                    
        ";
                ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "js", js, true);

錯誤的地方應該是我用ID觸發JQuery:

 <script type="text/javascript">
        function aaa() {
            $(document).on("click", "[id*=btnUpdateShow]", function () { //[主要]顯示編輯視窗

                ////取得並觸發按鍵動作
                //var btn = document.getElementById("btnUpdate");
                //btn.click();

                $("#dialogE").dialog({
                    title: "編輯視窗",
                    width: 660,
                    buttons: {
                        "更新": function () {

                            document.getElementById("btnUpdate").click();
                        },

                        "取消": function () {
                            $(this).dialog("close");
                            document.getElementById("div_gray").style.visibility = "hidden";
                        }
                    },
                    modal: true
                });
                //return false;
            });

         
        }
     
</script>

參考網站:
https://dotblogs.com.tw/ian/2014/07/06/multijquerydialog