我正在使用MVC 3.0,我只是想知道如何將一個JavaScript變量傳遞給Url.Action
這是一種服務器端方法?如何將一個JavaScript變量傳遞給Url.Action?
下面的代碼無法編譯:
string actionName = "MyAction";
string url = '@(Url.Action(' + actionName + '))';
感謝
我正在使用MVC 3.0,我只是想知道如何將一個JavaScript變量傳遞給Url.Action
這是一種服務器端方法?如何將一個JavaScript變量傳遞給Url.Action?
下面的代碼無法編譯:
string actionName = "MyAction";
string url = '@(Url.Action(' + actionName + '))';
感謝
你在做什麼有一些缺陷,主要在於@ Url.Action在服務器上運行JavaScript的客戶端上運行一段時間。
如果你想生成客戶端上的網址,你將不得不自己做在JavaScript中,例如:
var url = '/home/' + actionName;
關於所問的問題,所以你不可能將客戶端變量傳遞給Url.Action的服務器端代碼? –
是的,這是不可能的。您必須將javascript參數包含在GET或POST請求中才能在服務器上訪問,這意味着在JavaScript執行後您需要使用該值執行GET或POST操作,導致頁面刷新,以便值可以在服務器上讀取,與提交HTML表單時相似。你也可以使用ajax請求並通過javascript變量發送,然後讓服務器返回url變量,然後在客戶端做任何你想做的事情 –
不要ü的意思是這樣http://stackoverflow.com/questions/11978681/how-to-assign-value-to-javascript-variable-under-mvc3-razor-with-viewbag? –
這是一個非常好的有效問題/問題,它有一個有效的答案/解決方案。爲什麼有些人冷靜下來?! –
它也發生在我們所有人以及男人身上。別擔心。 :) –