1

「default.aspx」のようなasp.netページに次のものが含まれています。

<form id="form1" runat="server" >        
    <asp:Textbox id="Textbox1" runat="server" />
    <asp:Button id="Button1" runat="server" onClick="Button1_Click" text="submit" />
</form>

私が欲しいのは、ユーザーが他のサブページから戻ってきている間、テキストボックスフィールドにテキスト値を保持することです。
したがって、.csファイルでこれを試します。

protected void Button1_Click(object sender, EventArgs e){
    Session["Data"] = Textbox1.Text;
}

public string Data{get{return Session["Data"].ToString();}}      

およびin.aspx:

<asp:Textbox id="Textbox1" runat="server" text="<%# Data %>" />

ただし、機能せず、テキストボックスフィールドが空白になります。
javascriptなしでこれを実装する方法は?

4

3 に答える 3

3

#、データバインディング式でのみ機能します。だからあなたが必要です(例えばPage_Init)

Page.DataBind();

これが機能するために

<asp:Textbox id="Textbox1" runat="server" text="<%# this.Data %>" />

そうでなければ、これもうまくいくかもしれません

<asp:Textbox id="Textbox1" runat="server" text="<%= this.Data %>" />

インラインasp.netタグ...それらをすべて並べ替えます(<%$、<%=、<%、<%#など)

すでにコメントしたように、コンパイル時にチェックする必要があるため、一般的に分離コードを使用することをお勧めします。

于 2013-01-25T17:06:24.663 に答える
0

Page_Loadでこれを行います

if (!Page.IsPostBack) {
   if ( Session["Data"] != null) 
       TextBox1.Text = Session["Data"].ToString();
}
于 2013-01-25T17:03:31.653 に答える
0

これですか?

if (Session["Data"] != null){
         Textbox1.Text = Session["Data"].ToString();
    }
于 2013-01-25T17:04:17.340 に答える