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

Asp.net 将自定义参数发送到用户控件ascx,asp.net,user-controls,Asp.net,User Controls,我需要在页面上使用用户控件(.ascx),它是基于2个参数的相关post user控件: 1. Current post 2. Relation type 页面需要有此控件的3个不同实例,每个实例都具有相同的当前post参数,但关系类型(标题、作者、流派)不同 第一个参数我可以通过url获取,但是第二个参数呢 我在谷歌上搜索了一段时间,但还没有找到答案。如何传递第二个参数,以便控件可以基于这些参数加载信息? 我不希望为每个参数创建控件,否则最好不构建用户控件,而是直接生成代码:( 谢谢!创

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

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

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

我在谷歌上搜索了一段时间,但还没有找到答案。如何传递第二个参数,以便控件可以基于这些参数加载信息? 我不希望为每个参数创建控件,否则最好不构建用户控件,而是直接生成代码:(
谢谢!

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

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" />

为什么不创建(ascx的)属性并从使用它的页面分配它呢?你的意思是
如何从控件读取这些属性?因为这些属性是控件(类)属性,它总是可以读取/写入这些内容。如果其他人不清楚这些内容,请确保将属性设置放在使用控件的页面的代码后面的
!IsPostBack
块之外。否则,它们在回发时将为空。如果我想发送
对象而不是字符串,该怎么办?@amd则不能使用asp标记(在aspx页面中);但可以在代码隐藏(c#)中设置它。
protected void Page_Load(object sender, EventArgs e)
{
    //...

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

    //...
}