3

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

例如,在我的 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;
        }
    }
4

3 回答 3

1

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

myMap1.DefaultCountry = "UnitedStates";
于 2010-10-27T20:31:13.707 回答
1

在这种情况下,DefaultCountry 应该是您的用户控件的属性。因此,您可以通过使用用户控件实例的这个属性来简单地访问它。

于 2010-10-27T20:32:28.133 回答
0

这段代码就够了

在 .aspx 页面中

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

在用户控件的 .ascx.cs 中

public String DefaultCountry { get; set; }

该属性将自动使用值“USA”初始化。

于 2015-08-15T01:45:43.523 回答