如何添加一个查询字符串url后,当asp.net按钮被点击

本文关键字:asp net 按钮 字符串 添加 何添加 查询 一个 url | 更新日期: 2023-09-27 18:12:25

我有一个asp.net页面,有一个按钮点击。当点击它,我希望有一个查询字符串,如?id=1后添加正常的url。我如何从服务器端c#代码做到这一点?

如何添加一个查询字符串url后,当asp.net按钮被点击

三种方式…服务器端重定向、LinkButton和客户端按钮或链接。

你可以让你的按钮事件处理程序重定向到一个位置与querystring…

 Response.Redirect("myPage.aspx?id=" + myId.toString(), true);

您可以将按钮渲染为LinkButton并设置URL…

 LinkButton myLinkButton = new LinkButton("myPage.aspx?id=" + myId.toString(), true);

或者,您可以将按钮呈现为客户端链接-这就是我在使用Repeater控件时所做的…

 <a href='myPage.aspx?id=<%# Eval("myID") %>'>Link</a>

我更喜欢最后一种方法,特别是当我需要一大堆链接的时候。

顺便说一句,这是KISS的应用程序-您所需要的只是一个常规的旧链接,您不需要跳过服务器端来创建一个带有querystring的链接。尽可能使用常规的客户端HTML是如何保持ASP。网络简单。我在野外没有看到足够的这种技术。

我知道这是一个老问题,但我有完全相同的问题,当我们想要创建一个新的URL字符串,让谷歌分析可以"计数"当一个表单提交。

我使用ASP:按钮提交表单并保存到数据库,并在回发时显示感谢信息。因此,提交前和提交后的URL是相同的,我必须以某种方式修改它。

我使用了下面的代码,它为我工作:

c#, in Page_Load:
btnSubmit.PostBackUrl = "Page.aspx?id=" + id.ToString() + "&newquerystring=newvalue";

页面。aspx是带有按钮的页面,我想要回发到(同一页面),ID是我用来从CMS抓取内容的动态ID,显然是新的querystring项目。

在url中添加查询字符串有多种方法。如果要在服务器端添加值,可以使用以下代码:

protected void Button_Click(object sender, EventArgs e)
{
   Int32 id = 1;
   // Or your logic to generate id
   string url = String.Format("anypage.aspx?id={0}",id.ToString());
}

如何在c#中为URL构建查询字符串?

也可以使用下面的代码

string url = Request.Url.GetLeftPart(UriPartial.Path);
url += (Request.QueryString.ToString() == "" ) ? "?pagenum=1" : "?" + Request.QueryString.ToString() + "&pagenum=1";