Передача значения в WebUserControl для показа в табличке

Привет, у меня есть WebUserControl, который имеет ярлык для показа сообщения, как я могу отправить значение в ярлык со страницы в мой WebUserControl во время выполнения.

3 ответа

В коде файла управления вы можете указать атрибут

    [Bindable(true)]
    [Category("Appearance")]
    [DefaultValue("")]
    [Localizable(true)]
    public String customType
    {
        get
        {
            String s = (String)ViewState["customType"];
            return ((s == null) ? String.Empty : s);
        }

        set
        {
            ViewState["customType"] = value;
        }
    }

И после того, как вы можете получить этот атрибут, чтобы заполнить свой ярлык в загрузке страницы с

mylabel.text = mycontrol.customType

На странице asp вы указываете атрибут (здесь это 'customType'):

<wuc:ContSign customType="person" ID="ContSignPanel" runat="server" />

MSDN

Просто сделайте свойство, чтобы получить и установить значения для ярлыка в пользовательском элементе управления

private string _labelmsg;
public string LableMsg
get
{
return _labelmsg;
}
set
{
_labelmsg=lblID.Text;
}

а затем установите на странице aspx.cs как

UserControlID.LabelMsg="Set Any Value";

Вы можете создать публичный метод в вашем пользовательском элементе управления, такой как

public void ShowMessage(string message)
{
   Label1.Text = message;
}

Label1 является элементом управления меткой в ​​пользовательском элементе управления. Теперь вы можете использовать метод из Page, как и когда вам это нужно - например,

protected void Page_Load(object Sender, EventArgs e)
{
    MyUserControl1.ShowMessage("Hello");
}

где MyUserControl1 - это имя / идентификатор веб-элемента управления, помещенного на страницу.

Другие вопросы по тегам