控件传递的问题 例子:在a.ascx里定义好一些控件,其中包括gridview,在b.aspx里引用a.ascx文件,能否做到点a.ascx上的控件按钮将数值传递到b.aspx的控件上?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 您需要在a.ascx.cs后台文件中,自定义属性和事件;类似这样:public string MyProperty{// get, set访问器}public event EventHandler ButtonClicked;protected void btn_Click(object sender, EventArgs e){ if(null != ButtonClicked) { ButtonClicked(this, new EventArgs()); }}在b.aspx.cs的后台代码中,需要订阅用户控件的事件。 你可以把值作为参数或赋给session,然后在传过去。OK 方法太多了 session public string MyProperty { // get, set访问器 } 这步我已写,但我是想点gridview时可以将值传到b.aspx上的控件上,可能会用到gridview的SelectedIndexChanged事件,如何订阅用户控件 我在a.ascx.cs中设置了public GridView GV { get { return this.GridView1; } }下面这句还用写吗?public event EventHandler ButtonClicked; protected void btn_Click(object sender, EventArgs e) { if(null != ButtonClicked) { ButtonClicked(this, new EventArgs()); } } 我已实现点击gridview的数据时将值(用的是SelectedIndexChanged事件)传递给a.ascx页上的控件,现在想实现将值传给b.aspx的控件 我看大家许多人肯定没看清楚我的意思我要的是点a.ascx上的控件将值传给b.aspx上的控件,而不是点b.aspx上的控件去取a.ascx的控件值请大家看明白些 //用户控件后台 public delegate void SetVal(string val); public event SetVal SetValEvent = null; protected void btn_UcControl_Click(object sender, EventArgs e) { if (SetValEvent != null) { SetValEvent("赋值"); } }//用户控件前台<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %><asp:Button runat="server" Text="用户控件赋值" ID="btn_UcControl" OnClick="btn_UcControl_Click"/>//aspx页面调用 前台 <form id="form1" runat="server" action="Default2.aspx" method="post"> <asp:TextBox runat="server" ID="txt_textbox"></asp:TextBox> <uc1:WebUserControl ID="WebUserControl1" runat="server" /> </form>//aspx页面调用 后台 protected void Page_Load(object sender, EventArgs e) { WebUserControl1.SetValEvent += new WebUserControl.SetVal(WebUserControl1_SetValEvent); } void WebUserControl1_SetValEvent(string val) { this.txt_textbox.Text = val; }够清楚了吧 今天看MSDN,猛然看见派生和继承,表示立马不能理解了,求大牛解惑 C#的checkedlistbox的控件如何绑定? 原来机上有一套.net系统 但重装系统后,出现好多错误。!! 请用C#怎样绘制一个表格. 不用打开Outlook就能发邮件这个功能怎么实现?(高分赠送) 一个类型转换的问题 .NET写的web service 中字节数组byte[]类型的参数如何在vc6.0里读出来? 求大神帮助!!有关VS中调用SQL中的无参数的存储过程的奇怪问题 新手求教,为什么new找不到控件? 请教B/S程序高手 FTP方面的问题? 大家看看这段代码,如何改成同时与多个客户端通信(SOCKET)
类似这样:public string MyProperty
{
// get, set访问器
}public event EventHandler ButtonClicked;
protected void btn_Click(object sender, EventArgs e)
{
if(null != ButtonClicked)
{
ButtonClicked(this, new EventArgs());
}
}在b.aspx.cs的后台代码中,需要订阅用户控件的事件。
session
public string MyProperty
{
// get, set访问器
}
这步我已写,但我是想点gridview时可以将值传到b.aspx上的控件上,可能会用到gridview的SelectedIndexChanged事件,如何订阅用户控件
public GridView GV
{
get { return this.GridView1; }
}下面这句还用写吗?
public event EventHandler ButtonClicked;
protected void btn_Click(object sender, EventArgs e)
{
if(null != ButtonClicked)
{
ButtonClicked(this, new EventArgs());
}
} 我已实现点击gridview的数据时将值(用的是SelectedIndexChanged事件)传递给a.ascx页上的控件,现在想实现将值传给b.aspx的控件
我看大家许多人肯定没看清楚我的意思我要的是点a.ascx上的控件将值传给b.aspx上的控件,
而不是点b.aspx上的控件去取a.ascx的控件值请大家看明白些
//用户控件后台
public delegate void SetVal(string val);
public event SetVal SetValEvent = null;
protected void btn_UcControl_Click(object sender, EventArgs e)
{
if (SetValEvent != null)
{
SetValEvent("赋值");
}
}
//用户控件前台
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<asp:Button runat="server" Text="用户控件赋值" ID="btn_UcControl" OnClick="btn_UcControl_Click"/>
//aspx页面调用 前台
<form id="form1" runat="server" action="Default2.aspx" method="post">
<asp:TextBox runat="server" ID="txt_textbox"></asp:TextBox>
<uc1:WebUserControl ID="WebUserControl1" runat="server" />
</form>
//aspx页面调用 后台
protected void Page_Load(object sender, EventArgs e)
{
WebUserControl1.SetValEvent += new WebUserControl.SetVal(WebUserControl1_SetValEvent);
} void WebUserControl1_SetValEvent(string val)
{
this.txt_textbox.Text = val;
}
够清楚了吧