首页 > 解决方案 > .net C# 将值作为查询字符串发布到带有按钮的另一个页面

问题描述

初学者在这里寻找一种将数据从文本框发布到另一个页面作为查询字符串的好方法

<div class="col-md-4">
        <h2>Find a Player</h2>
        <p>
            <img alt="Find a Player" src="images/user.png" style="width: 64px; height: 64px" /><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button2" runat="server" Text="Submit" />
        </p>
        <p>

只是想让它发布到:

http:\website\depth_chart?recid=griffey

其中 griffey 是放入文本框中的数据。

标签: c#submitquery-string

解决方案


您可以使用属性 PostBackUrl:

<asp:Button ID="Button2" runat="server" Text="Submit" PostBackUrl="http:\website\depth_chart?recid=griffey" />

当用户使用onkeyuporonkeydown属性在文本框中写入时,应在客户端更改 PostBackUrl 的值:

<asp:TextBox ID="TextBox1" onkeyup="alert('TextBox1 onkeyup fired');"

将 javascript 与后端 asp 控件混合时可能面临的问题是检索 ID,您可以通过在代码隐藏中创建 js 来解决:

string changeScript = "&lt;script language='javascript'> function SomeValueChanged() {" +
  "document.getElementById('" + MyTextBox.ClientID +
  "').value = 'Some values may have been changed.'; }</script>";


// Add the JavaScript code to the page.
if (!ClientScript.IsClientScriptBlockRegistered("SomeValueChanged"))
{
  ClientScript.RegisterClientScriptBlock(this.GetType(), "SomeValueChanged", changeScript);
}

但是,如果您尝试将此逻辑应用于您的应用程序,强制 ASP.NET WebForm 项目应该如何工作,我可以告诉您,您走错了方向。感觉好像有设计问题


推荐阅读