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

Art*_*rez 16 asp.net user-controls

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

 1. Current post
 2. Relation type
Run Code Online (Sandbox Code Playgroud)

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

第一个参数我可以通过url得到它,但第二个参数怎么样?

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

msh*_*yem 31

创建用户控件的公共属性,如:

public partial class SampleUC : UserControl
{
    public string CurrentPost {get;set;}
    public string RelationType {get;set;}

    //...

    //...
}
Run Code Online (Sandbox Code Playgroud)

使用标记从页面中分配这些标记,如:

<%@ Register TagPrefix="cc" TagName="SampleUC" Src="SampleUC.ascx" %>
...
...
<cc:SampleUC id="myUC" runat="server" CurrentPost="Sample Post Title" RelationType="Title" />
Run Code Online (Sandbox Code Playgroud)

或者从代码隐藏(使用它的页面):

protected void Page_Load(object sender, EventArgs e)
{
    //...

    myUC.CurrentPost = "Sample Post Title";
    myUC.RelationType = "Title" ;

    //...
}
Run Code Online (Sandbox Code Playgroud)