用showmodal窗口给用户控件里的一个控件赋值的问题.

原创 2006年06月07日 12:54:00

这是我写代码中碰到的问题.经过思归和孟子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" onclick="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" onclick="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" onclick="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>");
}

基于bootstrap modal进行添加 修改,调用赋值

先上效果图吧: 查询列表: 添加modal: 修改modal和添加modal采用同一个,区别是在修改的时候对modal进行赋值,后端保存时采用hibernate saveOrup...
  • princeLuan
  • princeLuan
  • 2017年04月03日 23:33
  • 3003

对用户控件(ascx)属性(property)赋值

Insus.NET写此博文,是对用户控件(ASCX)的属性赋值经验与技巧分享。是这样子的,在做新闻站点时,一般都会有分很多类别。 在站点首页会显示最新,最TOP 或最Hot的新闻或文章,而且是分类别来...
  • dyllove98
  • dyllove98
  • 2013年06月26日 20:13
  • 1979

C#编写第三方控件,实现窗体控件的一键赋值

、 事出有因 在写程序的时候,经常会写上面这样的代码,把查询的结果显示到窗体上,我们怎么做的呢? 一行一行的进行赋值,这样的代码写起来最枯燥,而且还容易出错。大家有没有发现,上面的代码都在做相同的事情...
  • u010028869
  • u010028869
  • 2014年09月09日 22:53
  • 2031

Winform中窗体中两用户控件传值

最近在做一个小项目,中间遇到了一个问题,由于多个窗体中要用到单位选择,于是自己做了一个下拉选择树的用户组件, 想通过用户选择完单位后,传到另外一个用户控件中去, 在这个控件中通过在下拉选择...
  • xzzhouhu
  • xzzhouhu
  • 2013年03月29日 22:14
  • 2392

自定义类给窗体的控件赋值

前面 我们有说到  多线程给窗体的控件赋值  详见 遇到问题-UI界面无响应,多线程解决UI界面无响应问题 现在有一种新的情况, 我想在 另一个类中 给窗体的控件赋值...
  • q383965374
  • q383965374
  • 2013年05月27日 17:11
  • 1940

用户控件与父页面以及用户控件与用户控件的方法调用和传值

用户控件调用父页面的方法:        //获得父页面         Page p = this.Parent.Page;         Type pageType = p.GetTy...
  • ptyzhu
  • ptyzhu
  • 2012年08月21日 22:43
  • 3881

C# winform在线程中给控件赋值

C# winform在线程中给控件赋值确定要报错,这要是打印日志什么的就很烦,好在用代理就可以解决这个问题 public delegate void AppendStringCallback(str...
  • w200221626
  • w200221626
  • 2016年10月12日 13:20
  • 2843

动态添加控件,给控件赋值

 protected void Page_Load(object sender, EventArgs e)    ...{        //循环添加控件,不能添加        for (int i...
  • peter824
  • peter824
  • 2007年11月06日 16:52
  • 459

c#如何在线程给中控件赋值

vc#如何在线程给中控件赋值,拿textbox举例;  public delegate void Settext(TextBox txt, string text); //首先声明一个委托  pr...
  • lisiyi523897080
  • lisiyi523897080
  • 2013年03月04日 09:50
  • 7272

WPF获取当前用户控件的父窗体

Window w = ((Grid)this.Parent).Parent as Window;
  • huanghunjiuba
  • huanghunjiuba
  • 2012年08月27日 15:26
  • 1288
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用showmodal窗口给用户控件里的一个控件赋值的问题.
举报原因:
原因补充:

(最多只允许输入30个字)