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

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

“ class MyDialog32(wx.Dialog): def __init__(self, parent): wx.Dialog.__init__(self, parent, id=wx.ID_ANY, title=u"聘请客服人员", pos=wx.DefaultPosition, size=wx.Size(400, 300), style=wx.DEFAULT_DIALOG_STYLE) self.Center() self.panel = wx.Panel(self) self.panel.SetBackgroundColour('white') wx.StaticText(self.panel, -1, "请输入菜品名称:", (20, 20)) self.t1 = wx.TextCtrl(self.panel, pos=(160, 20), size=(120, 25)) wx.StaticText(self.panel, -1, "请输入客服人员编号:", (20, 80)) self.t2 = wx.TextCtrl(self.panel, pos=(160, 80), size=(120, 25)) wx.StaticText(self.panel, -1, "请输入客服人员姓名:", (20, 140)) self.t3 = wx.TextCtrl(self.panel, pos=(160, 140), size=(120, 25)) def OnClick(self, e): dialog32 = MyDialog32(None) btn = wx.Button(parent=dialog32.panel, label="聘请", pos=(20, 200), size=(100, 45)) btn.Bind(wx.EVT_BUTTON, dialog32.insert) dialog32.ShowModal() def insert(self, e): conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='wm', charset='utf8') cursor = conn.cursor() shop_name = self.t1.GetValue().encode('utf8') # 注意GetValue()获取的是unicode编码, server_id = self.t2.GetValue().encode('utf8') # 你使用的#coding=utf8,那就对获取的数据.encode('utf8') server_name = self.t3.GetValue().encode('utf8') data = (server_id, server_name, shop_name) try: sql = "insert into server values(%s,%s,%s)" cursor.execute(sql, data) conn.commit() dial = wx.MessageDialog(None, '成功聘请客服!', '结果', wx.YES_NO) # 创建一个带按钮的对话框, 语法是(self, 内容, 标题, ID) dial.ShowModal() # 显示对话框 except: conn.rollback() finally: cursor.close() conn.close()”逐行解释代码
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值