1

タイプ myCustomWebProfile のパブリック プロパティを持つページがあります。

コード ビハインドにはテキスト ボックスがあり、テキスト ボックスを上記の Web プロファイルのプロパティにバインドしようとしています。

使用するバインディング構文のバリエーションに関係なく、レンダリング時にテキストボックスにデータが入力されることはありません。

どんな助けでも大歓迎です。

C# コード ビハインド クラスは次のとおりです。

public partial class Profile : selfSvcPage
    {
        public WebProfile pgProfile { get; set; }

        protected void Page_Init(object sender, EventArgs e)
        {
            pgProfile = WebProfile.Current;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            object o = WebProfile.Current.FirstName;
            //Successfully populates with a string

            object b = DataBinder.Eval(pgProfile, "FirstName");
            //Successfully populates with a string
        }
    }

コードのマークアップは次のとおりです。

<telerik:RadTextBox ID="FirstName" Text='<%# Eval("pgProfile.FirstName")     %>' SkinID="formText" CssClass="formField" runat="server"/>
4

3 に答える 3

2

これを試して:

<telerik:RadTextBox ID="FirstName" Text='<%# pgProfile.FirstName %>' SkinID="formText" CssClass="formField" runat="server"/>

この:

protected void Page_PreRenderComplete(object sender, EventArgs e)
{
    DataBind();
}

あなたの状況では、早い段階でバインドしたいかもしれません。詳細については、これを参照してください。

サーバー コントロールのプロパティ値として <%= %> 式を使用すると、コンパイル エラーが発生するのはなぜですか?

重要な部分: '最後に気づいたこととして... <%# %> + Control.DataBind() を試してみると、期待どおりの結果が得られました。'

于 2011-05-24T09:53:39.680 に答える
1

Page_Loadでこれを実行できますか?

FirstName.Text = pgProfile.Current.FirstName;

上記のコードの前に、pgProfileの初期化が行われていることを確認してください。

于 2011-05-24T09:32:42.490 に答える
0

私があなたのコードから得たのは、あなたが持っているということです

クラスプロフィール

そのクラスでは、クラス webProfile のプロパティを作成しました。

このプロパティを使用して、値を割り当てようとしています。このようなことを試すことができると思います

Text='<%#(DataBinder.Eval(Container.DataItem, "pgProfile.Current.FirstName")).ToString()%>'
于 2011-05-24T09:42:22.300 に答える