在后面的代码中访问ascx参数

时间:2010-10-27 20:29:44

标签: c# asp.net ascx

我想知道是否可以使用参数向页面添加用户控件,然后在代码behiind中访问该参数以进行初始化。

例如,在我的aspx页面上,我会有一些像。

<%@ Register TagPrefix="uc1" TagName="myMap" Src="~/Map.ascx" %>
blah 
blah 
blah
<uc1:myMap ID="myMap1" runat="server" DefaultCountry="UnitedStates"/>

如何访问我的Map.ascx.cs代码后面的DefaultCountry参数。

如果我不依据这是正确的实施?

编辑:

想出来

在.aspx页面

<uc1:myPartnerMap ID="MyPartnerMap1" runat="server" defaultCountry="USA"/>

在用户控件的.ascx.cs中

private string defaultCountry;   

    public String DefaultCountry
    {
        get { return defaultCountry; }
        set { defaultCountry = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            CountrySelector.SelectedValue = defaultCountry;
        }
    }

3 个答案:

答案 0 :(得分:1)

首先调用usercontrol,然后调用用户控件上的公共属性。

myMap1.DefaultCountry = "UnitedStates";

答案 1 :(得分:1)

在这种情况下,DefaultCountry应该是您的用户控件的属性。因此,您只需使用用户控件实例的此属性即可访问它。

答案 2 :(得分:0)

此代码足够

在.aspx页面

<uc1:myPartnerMap ID="MyPartnerMap1" runat="server" DefaultCountry ="USA"/>

在用户控件的.ascx.cs中

public String DefaultCountry { get; set; }

该属性将自动初始化为“USA”。