0

Web フォームにユーザー コントロールがあります。ユーザー コントロールのビューステートによってサポートされるパブリック プロパティがあります。Web フォームのコード ビハインドで、パブリック プロパティを設定しようとしています。セットの時点でコードビハインドをデバッグすると、デバッガーがセッターに移動することはありません。同様に、パブリック プロパティのテキスト ボックスの値が設定されることはありません。なんで?

//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 に答える