經曆些許破折... 終於搞出來 模式表單了... 留作紀念...
① 頁面放置 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 /./.大功告成.... 感謝各位看客...