2017-12-13 6 views
0

私は DestinationPage.aspxという名前のTextBoxValueButtonという名のButtonGetValueという名前のTextBoxを持っています。私がやっていることは、を、前のページからこのページに渡している値にQueryStringを使って渡していることです。TextBoxがQueryStringからデータを取得するTextBoxから変更されたデータを読み取るには?

<asp:Button ID="ButtonCompute" runat="server" Text="Compute" OnClick="ButtonCompute_Click" ValidationGroup="ComputeGroup"/ 

ButtonComputeSourcePage.aspxに位置Buttonであり、それは単にSourcePage.aspxからDestinationPage.aspxにデータを渡さクリック:私は、次のようにそれを実装しています。これは以前私が話していたButtonではありません。 SoucePage.aspx.cs

コード:

int valueForDestination = 10; 
Response.Redirect("~/DestinationPage.aspx?Value = + valueForDestination); 

コードDestinationPage.aspx.cs中:値がTextBoxValueに表示されたら、今すぐ

int valueFromQS = Request.QueryString["Value"]; 
TextBoxValue.Text = valueFromQS; 

<asp:Button ID="ButtonGetValueValue" runat="server" Text="Get Value" onclick="ButtonGetValue_Click" /> 

、私はここで何をすべきか、から100に変更します10。そしてButtonGetValueをクリックします。しかし、代わりに100を得るのではなく;更新された値ですが、私はを取得しています。初期値であった。更新された値を取得するにはどうすればよいですか?私はButtonGetValueで何をしたいのか明確に言及していないことをお詫び

EDIT 1.0 。このButtonは、単にTextBoxから値を読み取り、その値を画面に表示します。

私はASP.NET WebFormsで作業しています。

+0

'IsPostBack'チェックで' TextBoxValue.Text = valueFromQS'を設定していますか? – VDWWD

+0

いいえこれは 'if(Request.QueryString.Count> 0)'と 'Page_Load()'の 'if condition'の中にあります。 –

答えて

0

あなたはそれがすべてのポストバックでのQueryString値に変更する場合を除き、あなたがそれをラップしたい!IsPostBackプロパティクエリ文字列に10を通過しているあなたのコード例でも

if (!Page.IsPostBack) 
{ 
    if (Request.QueryString["Value"] != null) 
    { 
     TextBoxValue.Text = Request.QueryString["Value"].ToString(); 
    } 
} 

、およびデフォルト値が10であると言っていますが、100にしたい場合は、ボタンクリックイベントのクエリー文字列に100を渡す必要があります。

+0

あなたの答えをありがとう。私はあなたが求めていることに基づいて私の質問を編集しました。質問を投稿している間にその情報を言及しなかったことをお詫び申し上げます。私は、クエリ文字列を取得した後に編集(10 - > 100)を実行しています。私が暗示しようとしているのは、ButtonGetValueをクリックして値を100に変更しても、出力として10を得ているのに対して、私は10を100に変更したので100を望んでいたということです。 'TextBox'です。お役に立てれば。また、あなたのソリューションはうまくいくと思います。私はそれをテストしています。 –

関連する問題