延續 以jQuey DOMWindow plugin實現子頁面資料回傳父頁面心得筆記 一文,如果利用AjaxToolKit中的ModalPopupExtender要實現同樣的功能,實作起來更為簡單。
1.在Visual Studio中布置以下的控制項:

1.png  

2.GridView1中的OrderID欄位改為LinkButton 

<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("OrderID") %>'></asp:LinkButton>

3.在LinkButton1上加入ModalPopupExtender擴充項

2.png  

4.增加遮罩的樣式

<style type="text/css">
   
.modalBackground{
       
background-color:#CCCCFF;
        
filter:alpha(opacity=40);
       
opacity:0.5;
    }
</style>

5.增加ModalPopupExtender兩個屬性 :

PopupControlID="Panel1" BackgroundCssClass="modalBackground"

6.當點選GridView的OrderID時,為了能將OrderID的值帶給ForwView1的OrderID欄位,加入以下JQuery程式碼:

<
script src="jquery-1.6.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
   
var prm = Sys.WebForms.PageRequestManager.getInstance();
   
prm.add_pageLoaded(BindEvents);
   
function BindEvents() {
       
$('a[id*="LinkButton1"]').click(function() {
           
$('input[id*="OrderIDTextBox"]').val($(this).text());
       
})
   
}
});
</script>

7.當使用者點選插入新增資料後,為了能讓GridView1上的OrderQty同步更新,在FormView1_ItemInserted的event上增加以下程式碼:

protected
void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e){
   
GridView1.DataSourceID = "SqlDataSource1";
   
GridView1.DataBind();
}

8.最後一步,把Panel1的style屬性設為display:none,大功告成!

arrow
arrow
    全站熱搜

    忙裡偷閒 發表在 痞客邦 留言(0) 人氣()