我有一个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}}(假设是正确的)。
答案 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());
});
});