如何添加一个查询字符串url后,当asp.net按钮被点击
本文关键字:asp net 按钮 字符串 添加 何添加 查询 一个 url | 更新日期: 2023-09-27 18:12:25
我有一个asp.net页面,有一个按钮点击。当点击它,我希望有一个查询字符串,如?id=1后添加正常的url。我如何从服务器端c#代码做到这一点?
三种方式…服务器端重定向、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";