我需要在页面上使用用户控件(.ascx),它是基于2个参数的相关用户控件:
1. Current post
2. Relation type
页面需要有3个不同的控件实例,每个实例都有相同的当前post参数,但关系类型不同(标题,作者,流派)。
我可以通过url获取第一个参数,但是第二个参数呢?
我一直在谷歌搜索一段时间,但我还没有找到答案。如何传递第二个参数,以便控件可以根据这些参数加载信息? 我宁愿不为每个参数创建一个控件,否则最好不构建用户控件但直接进入代码:( 谢谢!
答案 0 :(得分:31)
创建用户控件的公共属性,如:
public partial class SampleUC : UserControl
{
public string CurrentPost {get;set;}
public string RelationType {get;set;}
//...
//...
}
使用标记来分配页面中的内容,如:
<%@ Register TagPrefix="cc" TagName="SampleUC" Src="SampleUC.ascx" %>
...
...
<cc:SampleUC id="myUC" runat="server" CurrentPost="Sample Post Title" RelationType="Title" />
或代码隐藏(使用它的页面):
protected void Page_Load(object sender, EventArgs e)
{
//...
myUC.CurrentPost = "Sample Post Title";
myUC.RelationType = "Title" ;
//...
}