国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 彈出對話框返回多個值

2024-07-10 13:18:48
字體:
來源:轉載
供稿:網友
說了這么多,可能不知道我在說什么。上圖,你就知道了。呵呵。

asp.net 彈出對話框返回多個值


圖中,姓名有英文和中文之分。當用戶單擊對話框中的選擇按鈕時,就可以返回給父對話框了。

下面說代碼了:
這里共包含3個頁面
結構如下圖:

asp.net 彈出對話框返回多個值

 
其中Default.aspx的代碼如下:

復制代碼 代碼如下:


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>彈出選擇窗口</title>
<script language="javascript" type="text/javascript"><!--

function ShowDialog(ch,en,src)
{
var array=new Array();
array[0]=document.getElementById(ch);
array[1]=document.getElementById(en);

showModalDialog(src,array,"resizable:yes;");//src 為彈出頁面,array 傳過去的參數。
}

// --></script>
</head>
<body>
<form runat="server">
<table>
<tr>
<td> </td>
<td>中文</td>
<td>英文</td>
<td> </td>
</tr>
<tr>
<td>姓名:</td>
<td><asp:TextBox runat="server"></asp:TextBox></td>
<td><asp:TextBox runat="server"></asp:TextBox></td>
<td><input type="button" value="選擇" /></td>
</tr>
</table>
</form>
</body>
</html>


其中javascript 彈出modaldialog,并且傳過去是一個數組,數組中包含對象。這樣就實現了,同時傳多個值了。
然后我使用了框架,使用了框架才能解決彈出的頁面GridView.aspx無法傳值和緩存的問題了。
下面看Frame.aspx的代碼,也很簡單,無后臺代碼,只是一個iframe

復制代碼 代碼如下:


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>框架</title>
</head>
<body>
<form runat="server">
<iframe src="GridView.aspx" src="GridView.aspx" scrolling="no" frameborder="0"></iframe>
</form>
</body>
</html>


這個iframe是自適應大小的。通過onload事件實現的。



好了,看GridView.aspx頁面吧。

其代碼如下:

復制代碼 代碼如下:


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView</title>
</head>
<body>
<form runat="server">
<table>
<tr>
<td>
<asp:TextBox runat="server"></asp:TextBox></td>
<td>
<asp:TextBox runat="server"></asp:TextBox></td>
<td>
<asp:Button runat="server" Text="新建" /></td>
</tr>
<tr>
<td colspan="3">
<asp:GridView runat="server" AutoGenerateColumns="False" DataKeyNames="ID" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_RowDeleting" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" OnSelectedIndexChanging="GridView1_SelectedIndexChanging">
<Columns>
<asp:BoundField DataField="chName" HeaderText="中文" />
<asp:BoundField DataField="enName" HeaderText="英文" />
<asp:CommandField ShowEditButton="True" >
<ControlStyle />
</asp:CommandField>
<asp:CommandField ShowSelectButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<EmptyDataTemplate>
無數據
</EmptyDataTemplate>
<FooterStyle BackColor="Tan" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>
</td>
</tr>
</table>
</form>
</body>
</html>


在這個頁面里可以新建、插入、刪除和更新。單擊選擇時就可以返回了,當單擊選擇時觸發下面的事件:

復制代碼 代碼如下:


protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
string chName = GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;
string enName = GridView1.Rows[e.NewSelectedIndex].Cells[1].Text;
Response.Write("<:script language=/"javascript/">
window.dialogArguments[0].value='" + chName + "';window.dialogArguments[1].value='" + enName + "';window.close();<script>");
}


上面的代碼就是返回的重點;window.dialogArguments實際上就是我們剛剛傳過來的array數組。所以它有2個對象,這2個對象就是我們要賦值的對象。通過這一句就可以達到我們的目的了。

提供原代碼下載:其中包括數據庫。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石棉县| 竹山县| 新津县| 沈丘县| 翁牛特旗| 黄冈市| 南乐县| 鱼台县| 福泉市| 宁明县| 绵阳市| 上高县| 云林县| 什邡市| 邯郸县| 涪陵区| 集贤县| 关岭| 新干县| 错那县| 通州区| 吉水县| 鹰潭市| 亳州市| 伊川县| 光泽县| 盐边县| 即墨市| 朝阳县| 西青区| 江北区| 伊金霍洛旗| 湄潭县| 台湾省| 昌都县| 六安市| 海林市| 滦南县| 福贡县| 昌都县| 博兴县|