2

ASP.NETサイトがあり、URLクエリ文字列を使用するページがあります。

routeToScene.aspx?RunNumber = 3253665

RunNumber=XXXXXXXこれは、URLでパラメーターを渡すと正常に読み込まれます。

私がやりたいのは、テキストボックスの値を取得して2番目のページのURLに渡す単純な送信ボタンを使用して、RunNumber=XXXXXXXという別のページのテキストボックスを介してこのページをロードすることです。routToHospitalParam.aspxこれは単純なはずで、答えが見つからないのは愚かです。

これはrouteToHospitalParam.aspxページのコードです...

<asp:TextBox ID="TextBox1" Width="80px" MaxLength="7" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit" PostBackUrl="~/MAP/routeToHospital.aspx" + TextBox1.text />

問題は、他のページをロードするTextBox1.valueで(それが正しいと仮定して)使用しようとしたときです。PostBackUrl

4

3 に答える 3

2

あなたはこれを行うことができます

aspxで、onclickイベントを処理するようにコードを変更します。

<asp:Button ID="Button1" runat="server" Text="Submit" 
OnClick="Button1_OnClick" />

codebehindボタンで、queryprameterを使用してイベントリダイレクトユーザーをクリックします。

protected void Button1_OnClick(object sender, EvenArgs e)
{
  Response.redirect("~/MAP/routeToHospital.aspx?RunNumber=" + HttpUtility.UrlEncode(TextBox1.text));
}
于 2013-03-13T16:14:10.350 に答える
1

あなたは本当にASP.Netのクロスページ投稿を見てみたいです

PreviousPageオブジェクトのプロパティを使用しPageます。つまり、クエリ文字列を介して値を渡そうとする必要がなくなります。

例えば

C#

TextBox textBox = (TextBox)Page.PreviousPage.FindControl("TextBox1");

VB

Dim textBox as TextBox = CType(Page.PreviousPage.FindControl("TextBox1"), TextBox)
于 2013-03-13T16:06:41.827 に答える
0

以下のようなjQuery関数を試して、ポストバックURLを設定できます。

$(function(){
$('#Button1').click(function(){
    $('#Button1').attr("action", "/MAP/routeToHospital.aspx?RunNumber=" + $('#TextBox1').val());
   });
});

または、テキストボックスのぼかしイベントにこれを追加します。

$(function(){
$('#TextBox1').blur(function(){
    $('#Button1').attr("action", "/MAP/routeToHospital.aspx?RunNumber=" + $('#TextBox1').val());
   });
});
于 2013-03-13T16:17:00.863 に答える