2012-03-06 71 views
2

我發現了無數的關於將「代碼隱藏」變量傳遞給Javascript的例子和文章,但我想知道是否有辦法做相反的事情。我可以將JavaScript變量傳遞給內聯ASP.NET代碼嗎?

在我看來,我試圖動態創建一個使用ASP輔助類和從JavaScript變量的Url。我想要做的是一樣的東西:

var url = '@Url.Action("' + actionname + '", "controller")'; 

...其中actionname被一些其他的邏輯預定。這是行不通的,因爲我不能像這樣分解內聯代碼。

其他人以前是否嘗試過這樣做或有任何想法?

謝謝!

+1

這是不可能的。 Javascript變量只存在於客戶端上。 – SLaks 2012-03-06 16:02:27

回答

1

如果actionname是一個JavaScript變量,則不能這樣做:@Url.Action方法在返回給客戶端之前在服務器端執行。因此,在客戶端上執行的JavaScript無法將信息發送到@Url.Action調用中。

如果仍然如此,您可以將actionname作爲arg傳遞給Action,該Action確定將路由到何處。

+1

謝謝,當您考慮執行代碼的位置時,這會更有意義。 – Paul 2012-03-06 16:09:16

3

這很混亂,但我有時使用HiddenField來傳遞一個值。

ASP:

<asp:HiddenField id="hfStuff" runat="server" /> 

的jQuery:

$("#<%= hfStuff.ClientID %>").val("my value"); 

然後你可以從代碼隱藏訪問hfStuff.Value

就像我說的,凌亂,但有時候完成工作。

相關問題