将自定义参数发送到用户控件ascx

时间:2013-04-25 02:19:54

标签: asp.net user-controls

我需要在页面上使用用户控件(.ascx),它是基于2个参数的相关用户控件:

 1. Current post
 2. Relation type

页面需要有3个不同的控件实例,每个实例都有相同的当前post参数,但关系类型不同(标题,作者,流派)。

我可以通过url获取第一个参数,但是第二个参数呢?

我一直在谷歌搜索一段时间,但我还没有找到答案。如何传递第二个参数,以便控件可以根据这些参数加载信息? 我宁愿不为每个参数创建一个控件,否则最好不构建用户控件但直接进入代码:( 谢谢!

1 个答案:

答案 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" ;

    //...
}