5

私はユーザーコントロールを持っています、

ユーザーコントロールには、クリックするとメッセージボックスが表示されるボタンがあります。

メッセージボックスにはテキストボックスと別のボタンがあり、

別のボタンをクリックすると、コードビハインドでテキストボックスの値を取得する必要がありますが、ボタンが部分的なポストバックを実行し、テキストボックスがその状態を失うだけなので、まったく起こりません。

テキストボックスが動的に設定されているため、page_load メソッドでテキストボックスの値を取得してセッション状態に保存できません

これは私がこれまでに試したことです、

<asp:TextBox ID="textbox1" TextMode="MultiLine" runat="server" />

protected void Button1_Click(object sender, EventArgs e)
        {
string button1text = TextBox1Text;

public partial class myUserControl : UserControl
{
    public string TextBox1Text
    {
        get 
        {
            return Page.Session["TextBox1Text"] as string;  
        }
        set
        {
            Page.Session["TextBox1Text"] = TextBox1.Text;
        }
    }

利益はないが痛みだけ。

4

2 に答える 2

2

UpdatePanels を使用してからしばらく経ちましたが、部分的なポストバックでは、内部のコントロールの更新された値のみが送信されると思います。そのため、TextBox を UpdatePanel 内に移動するか、Javascript を使用して、UpdatePanel 内の非表示のコントロールに、更新されるたびに TextBox のコンテキストを設定します。

于 2013-05-07T11:19:35.873 に答える
1

ASPページで

    <input type="hidden" id="hidtext" runat="server" value="">

C#で

    hidtext.Value=textbox1.text;

またはVB


     hidtext.Value=textbox1.text

ポストバック後

    textbox1.text=hidtext.value;

于 2013-05-07T11:28:53.467 に答える