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 意見: