这是我写代码中碰到的问题.经过思归和孟子E章老师而解决.给碰到我同样问题的人一些帮助在此把解决的方法列出default.aspx
<%@ Register Src="CityPort.ascx" TagName="CityPort" TagPrefix="uc1" %>
<%@ Register Src="CityPort.ascx" TagName="CityPort" TagPrefix="uc2" %>
<uc1:CityPort ID="CityPort1" runat="server" />
<uc2:CityPort ID="CityPort2" runat="server" />
控件里有个tbPort文本框 和img控件.点img控件打开一个showmodal窗口
CityPort.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CityPort.ascx.cs" Inherits="CityPort" %>
<table width="150" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="width:130px">
<asp:TextBox ID="tbPort" runat="server" Width="130px"></asp:TextBox>
</td>
<td style="width:20px" valign="bottom">
<img src="images/button_search.gif" 20px" width="18px" id="IMG1" language="javascript" οnclick="javascript:window.showModalDialog('port.aspx',window,'status:Modeless;edge:sunken;unadorned:no;scroll=no;resizable:no;dialogLeft:300;dialogtop:200;help:no;dialogwidth:400px;dialogheight:240px');void(0);"/>
</td>
</tr>
</table>
port.aspx
<asp:TextBox ID="tbSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"/>
我现在的问题是点击tbSearch按钮如何把tbsearch的值付给用户控件的tbPort文本框里.
不过这个要通用.比如的用户控件id是CityPort1那么赋值就给cityport1.tbport
如果控件是cityport2那么赋值给CityPort2.tbport 我拖一个控件到CityPort到default.aspx页面id为
Cityport3那么赋值就到针对CityPort3.tbPort里.
这么写够清楚了吧. 不知道该怎么写..如果有源代码做参考最好.不要编译好的dll
解决方法.
方法一(来自思归)
CityPort.ascx
...
<img src="images/button_search.gif" 20px" width="18px" id="IMG1" language="javascript" οnclick="javascript:window.showModalDialog('port.aspx',[window,'<%=tbPort.ClientID%>'],'status:Modeless;edge:sunken;unadorned:no;scroll=no;resizable:no;dialogLeft:300;dialogtop:200;help:no;dialogwidth:400px;dialogheight:240px');void(0);"/>
<asp:TextBox ID="tbSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"/>
void btnSearch_Click(...)
{
Page.RegisterStartupScript("SetSearchParameter","<script language=javascript>window.dialogArguments[0].document.getElementById(window.dialogArguments[1]).value ='" + tbSearch.Text + "';</script>");
}
方法二(来自思归)
<img src="images/button_search.gif" 20px" width="18px" id="IMG1" language="javascript" οnclick="javascript:document.getElementById('<%=tbPort.ClientID%>').value = window.showModalDialog('port.aspx',window,'status:Modeless;edge:sunken;unadorned:no;scroll=no;resizable:no;dialogLeft:300;dialogtop:200;help:no;dialogwidth:400px;dialogheight:240px');void(0);"/>
void btnSearch_Click(...)
{
Page.RegisterStartupScript("SetSearchParameter","<script language=javascript>window.returnValue ='" + tbSearch.Text + "'; window.close();</script>");
}