0

我在网络表单上有一个用户控件。我在用户控件上有由 viewstate 支持的公共属性。在网络表单的代码隐藏中,我尝试设置公共属性。当我在设置点通过后面的代码进行调试时,调试器永远不会将我带到设置器。同样,公共属性的文本框的值永远不会被设置。为什么?

//aspx page with reference to user control on a telerik tab/page view
<telerik:RadPageView ID="radpvCommunication" runat="server">
    <uc:Communication ID="Communication1" runat="server" />
</telerik:RadPageView>

//Webform method to set user control public property
private void SetCommunicationControlText()
{
    Communication1.SubjectTextBoxText = "This is a test set from organization";
}

//user control code
public partial class CommunicationUserControl : UserControl
{
    public string SubjectTextBoxText
    {
        get { return ViewState["SubjectTextBoxText"].ToString(); }
        set { ViewState["SubjectTextBoxText"] = value; }
    }
}
4

1 回答 1

1

为什么不让属性包装控件?这样,控件为您管理视图状态:

public string SubjectTextBoxText
{
     get { return TextBox1.Text; }
     set { Textbox1.Text = value; }
}

这是我采用的方法,效果很好。

于 2013-05-16T15:53:33.770 回答