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

Posted

技术标签:

【中文标题】.net C# 将值作为查询字符串发布到带有按钮的另一个页面【英文标题】:.net C# post value as a querystring to another page with button 【发布时间】:2021-12-22 10:52:10 【问题描述】:

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

<div class="col-md-4">
        <h2>Find a Player</h2>
        <p>
            <img  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 是放入文本框中的数据。

【问题讨论】:

【参考方案1】:

你可以使用属性 PostBackUrl:

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

当用户使用 onkeyuponkeydown 属性在文本框中写入时,应在客户端更改 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 项目应该如何工作,我可以告诉您,您走错了方向。感觉好像存在设计问题

【讨论】:

我不相信会从文本框中获取数据来填充查询字符串

以上是关于.net C# 将值作为查询字符串发布到带有按钮的另一个页面的主要内容,如果未能解决你的问题,请参考以下文章

如何从列表视图中获取数据作为字符串 C# asp.net

当我尝试将 Get API 中的 json 对象作为 C# ASP.Net 中的查询字符串参数传递时,Swagger 给出错误

从 c# windows 应用程序中的按钮单击将值返回到网格

在 Windows 窗体应用程序 C# 中以编辑模式将值绑定到组合框

通过 C# 使用 ado.net 将值插入 SQL Server 数据库

使用 Json.Net 进行 C# 枚举反序列化:将值转换为类型时出错