2013-04-24 70 views
1
Url.Action("actionName","ControllerName",new { extraData = getdata()}); 

的GetData()是一個JavaScript函數,然後我想使用它像我想在url.action中調用javascript函數作爲ASP.Net MVC中的參數嗎?

public ActionResult actionName(string extraData) 
{ 
*/ bla /* 
} 

有任何人任何想法?

+0

你到底想要什麼?像這樣,javascript函數'getdata'將被執行,其結果將通過變量'extraData'傳遞給你的控制器。 – 2013-04-24 13:24:27

回答

1

Javascript是客戶端,C#是服務器端,所以不會工作。看起來你正在使用MVC,那麼爲什麼不爲這種情況創建一個路線?然後,可以在客戶端使用JavaScript處理url,並且您的服務器代碼保持不變。

routes.MapRoute(
    "newRoute", // Route name 
    "NewRoute/{extraData}", // URL with parameters 
    new 
     { 
      controller = "ControllerName", 
      action = "ActionName", 
      extraData = string.Empty 
     } 
    ); 

然後在客戶端上你可能有如下鏈接:

<a id="myLink" href="about:blank">My Link</a> 

而且你可以用你的JavaScript來操縱這個鏈接的要求:

document.getElementById("myLink").href = "/NewRoute/" + getData(); 

我有在這裏做出許多假設,所以如果這不能回答你的問題,那麼你可能需要添加一些關於你想要做什麼的更多細節。

相關問題