url参数中使用的TextBox值

时间:2013-03-13 16:02:04

标签: asp.net html postbackurl

我有一个ASP.NET站点,我有一个使用url查询字符串的页面:

  

routeToScene.aspx?RunNumber = 3253665

当我在URL中传递参数RunNumber=XXXXXXX时,此加载正常。

我想要做的是通过RunNumber=XXXXXXX通过另一个名为routToHospitalParam.aspx的页面上的文本框传递routeToHospitalParam.aspx,并带有一个简单的提交按钮,该按钮获取文本框中的值并将其传递给第二页的URL。这应该很简单,我觉得没有找到答案是愚蠢的。

这是<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加载另一页时使用{{1}}(假设是正确的)。

3 个答案:

答案 0 :(得分: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));
}

答案 1 :(得分:1)

你真的想看看Cross-Page Posting in ASP.Net

它使用PreviousPage对象的Page属性。那就是你可以通过查询字符串尝试传递值。

e.g。

<强> C#

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

<强> VB

Dim textBox as TextBox = CType(Page.PreviousPage.FindControl("TextBox1"), TextBox)

答案 2 :(得分:0)

您可以尝试使用下面的jQuery函数来设置回发网址:

$(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());
   });
});