asp.net 下 使用 showModalDialog 強制回應視窗 (記錄)

來源:互聯網
上載者:User

經曆些許破折... 終於搞出來 模式表單了... 留作紀念...

①  頁面放置 GirdView 控制項 用來展示資訊列表

頁面:  (操作列中的 "回複" 是個 超連結..點擊之後開啟強制回應視窗.並且傳值過去)

頁面原始碼

 

頁面原始碼

 1 <asp:GridView ID="gvnotReturn" runat="server" AutoGenerateColumns="False" AllowPaging="True"
2 BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px"
3 CellPadding="3" GridLines="Vertical" OnPageIndexChanging="gvnotReturn_PageIndexChanging1"
4 PageSize="5" Width="100%">
5  <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
6  <Columns>
7  <asp:TemplateField HeaderText="選擇">
8  <ItemTemplate>
9  <asp:CheckBox ID="cbno" runat="server" />
10  </ItemTemplate>
11  <ItemStyle Width="30px" />
12  </asp:TemplateField>
13  <asp:TemplateField HeaderText="編號">
14 <ItemTemplate>
15 <asp:Label ID="lblId" runat="server" Text='<%# Eval("gid") %>'></asp:Label>
16 </ItemTemplate>
17 <ItemStyle Width="40px" HorizontalAlign="Center" />
18 </asp:TemplateField>
19 <asp:TemplateField HeaderText="標題">
20 <ItemTemplate>
21 <asp:Label ID="Label1" runat="server" Text='<%# Eval("gTitle") %>'></asp:Label>
22 </ItemTemplate>
23 </asp:TemplateField>
24 <asp:TemplateField HeaderText="留言日期">
25 <ItemTemplate>
26 <asp:Label ID="Label2" runat="server" Text='<%# Eval("gPubDate") %>'></asp:Label>
27 </ItemTemplate>
28 <ItemStyle Width="120px" HorizontalAlign="Center" />
29 </asp:TemplateField>
30 <asp:TemplateField HeaderText="操作">
31 <ItemTemplate>
32 <a href="javascript:showModalDialog('ansmsg.aspx?id=<%#Eval("gid")%>');window.location.reload()">
33 回複</a>
34 </ItemTemplate>
35 <ItemStyle Width="50px" HorizontalAlign="Center" />
36 </asp:TemplateField>
37 </Columns>
38 <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
39 <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
40 <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
41 <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
42 <AlternatingRowStyle BackColor="#DCDCDC" />
43 </asp:GridView>

 

 

原始碼解釋:

 

<a href="javascript:showModalDialog('ansmsg.aspx?id=<%#Eval("gid")%>');window.location.reload()">
回複</a>

 

 

很普通的一個頁面指向連結.. 傳參數ID 過去...  後便添加了 window.location.reload() 

這個 window.location.reload() 的意思是 .. 模式表單關閉之後重新整理父頁面 

 

ansmsg.aspx   就是要彈出來的 模式表單咯..

在 ansmsg.aspx  頁面添加如下代碼:

 

 

 protected void Page_Load(object sender, EventArgs e)
{
Response.Expires = 0; }

這個意思是  禁止 模式表單頁面緩衝..

如果不這樣做的話... 地址欄ID不變.. 內容也不會變..

就比如..我的功能是這樣的.. :

這樣的情況下..如果不添加禁止頁面緩衝..我需要回複 留言版資訊..   重新從 "回複" 連結開啟的模式表單..內容是不會變的.. 即使資料庫中已經更新了...

 

 

如果這個頁面緊緊是展示資訊..而沒有提交按鈕...我想這樣做已經OK 了...

但是我這個模式表單有個 提交按鈕..意思就是說我需要回傳資料回去..

這個時候就出現一個問題....

當點擊了 提交按鈕之後... 這個模式表單  會在新頁面開啟...

失去了模式表單的意義...

這個不太好...但是怎麼解決呢?

方法很簡單..

在 作為模式表單彈出的 那個頁面 頁面原始碼中添加如下代碼..

 

</head>
<base target="_self" />
<body>

到這裡...一切OK /./.大功告成.... 感謝各位看客...

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.