
情境模擬如示意圖 : 點擊GridView上的TextBox後,要帶出ModalPopupExtender,勾選ModalPopupExtender上的選項後再將值寫回Textbox上。
看似簡單的問題,卻也讓我折騰了好幾小時。所幸經過一番努力,終於TRY出來了。
解法如下 :
一、在Textbox旁邊,設置了一顆隱藏按鈕(display:none),給它個CommandName,CommandArgument抓的是GridView的row index,等等要在RowCommand Event裡要用到。若ModalPopupExtender出來的畫面是包在UpdatePanel中,在ModalPopupExtender的屬性裡,OkControlID、CancelControlID這兩個屬性不能設,好讓確定按鈕或取消按鈕以ajax的方式傳回。
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<cc1:ModalPopupExtender ID="TextBox2_ModalPopupExtender" runat="server" PopupControlID="Panel1"
DynamicServicePath="" Enabled="True" TargetControlID="TextBox2" BackgroundCssClass="modalBackground" >
</cc1:ModalPopupExtender>
<asp:Button ID="Button1" runat="server" style="display:none" Text="Button" CommandName="Show" CommandArgument="<%#Container.DataItemIndex %>" /> </ItemTemplate>





)設個checkbox全選欄位,又懶得寫在後端程式裡,