如何给用户自定义控件传递参数

本文介绍在ASP.NET中如何在用户自定义控件与主页面之间进行参数传递的方法,包括通过Request.QueryString获取参数值并设置用户控件的属性,以及在页面加载时直接指定参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果在Page.IsPostBack的页面中可以通过Request来进行.但是在!Page.IsPostBack页面,这样就无法传递参数,具体方法如下:
引用用户控件页面html代码

  1  后台代码来指定传给用户自定义控件的参数

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

            //usercontrol1.params= "201011280003";
        }
        if(  Request.QueryString["id"]!=null)
        usercontrol1.params =  Request.QueryString["id"];
    }

    //在此处只是简单使用Button回发,然后通过Request.QueryString[""]来获取id值,

    //并将获取的id值赋给用户自定义控件内定义的公用属性值
    protected void Button1_Click(object sender, EventArgs e)
    {
        Server.Transfer("Default2.aspx?id=201011280002");
    }

2 直接指定params参数,作为传给用户自定义控件的值
<uc1:usercontrol params="1" id="usercontrol1" runat="server">

用户控件后台编码

 1private string _params;
 2public string params
 3{
 4    get{
 5      return _params;
 6       }

 7    set
 8       {
 9      _params=value;
10       }

11}

 

又一例:

方法1;
在自定义控件里声明一个全局变量如;public string parentID="";
在test.aspx里声明控件时同时赋值如
<uc1:webUserControl1 id="MyControl1" runat="server" parentID=“XXX”></uc1:MyControl>


方法2:
在test.aspx.cs中
webUserControl innerControl= (webUserControl)e.Item.FindControl("MyControl1");
innerControl.test = "XXXXXX";
在自定义控件里
private string _test;
public string test
{
get
{
return _test;
}
set
{
_test = value;
}
}

转载于:https://www.cnblogs.com/lushuicongsheng/archive/2010/12/01/1893689.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值