ASP.net 子页面传递数据到父页面 求好心人帮帮我 急!
父页面有个TextBox和button,通过按钮弹出子页面,子页面有个GridView,想通过双击GridView取出名称字段传递给TextBox1,并关闭子页面,但我双击GridView提示页面脚本出错
父页面text1.aspx:
<script type="text/javascript">
function Show()
{
var arrTemp = window.showModalDialog('test2.aspx', null, 'DialogWidth:400px;DialogHeight:350px');
//这是用来显示对话框的文本
document.getElementByid("<%=TextBox1.ClientID%>").value=arrTemp;
//通过此句我们可以获取从子页面传来的值并将它赋给txtGKCompanyID
}
</script>
<input id="GKCompanyID" type="button" value="..." onclick="Show()" style="width:30px"/>
子页面text2.aspx
<script type="text/javascript" language="javascript">
function doChoose(itemid)
{
window.parent.returnValue = itemid;
window.parent.close();
}
</script>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
onrowdatabound="GridView1_RowDataBound"
>
<Columns>
<asp:BoundField DataField="id" HeaderText="编号" />
<asp:TemplateField HeaderText="名称">
<ItemTemplate>
<asp:Label ID="lbCompanyID" runat="server" Text='<%# Bind("name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string lbCompanyID = ((Label)(e.Row.FindControl("lbCompanyID"))).Text.Trim();
e.Row.Attributes.Add("ondblclick", "doChose('" + lbCompanyID + "');");
//通过最下面的一句可以将GridView添加双击的事件使其双击时调用前台的doChose的方法:
}
}
------解决方案--------------------可以试试用window.open做。
window.open("sUrl","sName","sFeature","bReplace");
刚好有个例子:
基础用法