TOP

[C#]GridView內的DropDownList當Button方式使用

GridView內的DropDownList當button方式使用

這不是一個很好的使用方式,選取DropDownList值時模擬Button的事件或執行JavaScript使用。
最好不要這樣子使用,真的會被搞死。

以下遇到的方式都是需要用JavaScript去模擬的或控制

1.DropDownList選擇第1個值時,需要利用JavaScript開啟新的一頁,並將資料傳送過去。

使用ScriptManager.RegisterStartupScript方式呼叫JavaScript


strResult = "網址及參數值";

string newWindowSet = "height=600,width=800,toolbar=no,menubar=no,scrollbar=yes,location=yes,directories=no";

ScriptManager.RegisterStartupScript(this, this.GetType(), "名稱",
                "window.open('" + strResult + "','名稱','" + newWindowSet + "');", true);


2.DropDownList選擇第2個值時,需要有confirm的對話視窗讓使用者選擇「Yes」或「No」,才可以執行事件。
目前我找不到DropDownList可以這樣子處理的方式,因為DropDownList只能對一個物件做控制,不能對每一個值做onclick或onchange的控制,因此建立一個Button去模擬相同的功能。
且因為要使用Button的功能,不能用Visible= flase關閉button,所以只能將Button在畫面隱藏起來。

<span style="DISPLAY:none">
 <asp:Button ID="btnDel" runat="server" CausesValidation="false"      Text="Delete"
                                        OnClientClick='return confirm(this.getAttribute("RecordDelMessage"))'
                                        onclick="btnDel_Click" />
</span>

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "btn_Del", "{ document.getElementById('" + btnDel.ClientID + "').click();}", true);

利用ScriptManager.RegisterStartupScript方式呼叫JavaScript執行btnDel的click,觸發OnClientClick的事件。

參考資料:
http://felixhuang.pixnet.net/blog/post/24392024-%5Bjavascript%5D-%E7%94%A8-javascript-%E5%9F%B7%E8%A1%8C-asp.net-server-button-(
http://king971119.blogspot.tw/2011/08/jquery-javascript-button-click.html
http://www.cnblogs.com/wzg0319/archive/2011/03/25/1995772.html
http://www.wretch.cc/blog/theone114/21735441
http://blog.yam.com/wewa85/article/29059195

0 意見:

張貼留言