2016-12-02 61 views
0

我有一個默認頁面,其中gridview顯示不同的類別。 當我進入一個類別,該類別的名稱爲鏈接的參數傳遞,就像發送到另一個鏈接的鏈接參數asp net c#

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; 

Error: the name topicLink does not exist in this context

我怎樣才能做到這一點?

+0

你使用WebForms或MVC?從你的代碼我懷疑Webforms。另外,你的鏈接是一個asp控件或html? –

+0

您在視圖中使用任何模型嗎?如果是這樣,您可以將此參數作爲該模型的屬性傳遞並在視圖中進行連接。 –

+0

我不使用任何模型,這是非常基本的,我的鏈接是HTML –

回答

3

就在你的HTML代碼添加runat="server"這樣的:

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

然後你可以使用topicLink來改變href的值,就像你一樣。 :)

1

OK,你要當事件觸發

$("#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

也請注意,這是僞代碼,應該足以給你,你想要去

1

我覺得你的方向尋找HyperLink控制

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

然後,您可以更改代碼後面的NavigateUrl屬性。

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

我認爲最好的方法是創建超鏈接從用正確的URL的開始

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

至少寫錯了:'">New Topic' – VDWWD