发送链接的参数到另一个链接asp net C#

时间:2016-12-02 11:54:25

标签: c# asp.net

我有一个默认页面,其中gridview显示不同的类别。 当我输入一个类别时,该类别的名称将作为参数传递给链接,如

http://localhost:49442/category.aspx?category=Windows

我在那里有一个关于"新主题"的链接。我想发送"类别"参数进一步。 我尝试了一种方法但没有结果。

代码是

<a id="topicLink" href="default.aspx">New Topic</a>

C#中的代码是

string x = Request.QueryString["category"];
topicLink.Href = "newtopic.aspx?category=" + x; 
  

错误:此上下文中不存在名称topicLink

我该怎么做?

4 个答案:

答案 0 :(得分:3)

只需在html代码中添加{1 2 3},如下所示:

runat="server"

然后,您可以使用<a id="topicLink" runat="server" href="default.aspx"> New Topic </a> 更改topicLink值,就像您一样。 :)

答案 1 :(得分:1)

好的,你想在事件触发时使用这样的东西

$("#bttnId").click(function() {
   $("a").attr("href", "your url here")
})

此代码基于click事件,在此实例中是一个按钮,但如果它来自参数的页面加载事件,您可能需要查看purl.js,它将是第三方js文件允许您从查询字符串中获取参数,然后您可以使用此代码

$(document).ready(function(){
  var url = $.url().param('category');
  $("a").attr("href", url)
})

您可以从此处获取有关purl的更多信息https://github.com/allmarkedup/purl

请注意这是伪代码,应该足以让您指明您想去的地方

答案 2 :(得分:1)

我认为您正在寻找HyperLink控件

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="default.aspx">New Topic</asp:HyperLink>

然后,您可以在后面的代码中更改NavigateUrl属性。

HyperLink1.NavigateUrl += "?category=" + x;

答案 3 :(得分:-1)

我认为最好的方法是从头开始创建带有正确URL的超链接

<a id="topicLink" href="default.aspx?category="+<%Request.QueryString["category"]%>New Topic</a>