如果在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");
}
<uc1:usercontrol params="1" id="usercontrol1" runat="server">
用户控件后台编码
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
又一例:
方法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;
}
}