2014-03-06 636 views
8

我嘗試發佈文本框的值在asp.net mvc的到的ActionResultWindow.location.href後參數的ActionResult asp.net的MVC

的Javascript:

function OnButtonClick() { 
    var data= { 
     TextBox: TextBox.GetValue() 
    }; 
    var PostData= data.TextBox; 

    window.location.href = "Home/MyActionResult?Page=data" + PostData; 
} 

的ActionResult

public ActionResult MyActionResult(string PostData) 
{ 
    return view(); 
} 

每當我發佈數據到Home/MyACtionResult,PostData總是null

我錯過了什麼?

如何將文本框值發佈到actionresult?

+0

location.href是一個GET,使用Ajax – mplungjan

+0

如果我使用ajax,我無法更改網址,我想使用window.location – user3389856

+0

當然可以。做一些研究。例如jQuery的歷史。您需要使用Ajax或表單或方法post或更改服務器以接受GET – mplungjan

回答

3

試試這個:

window.location.href = "Home/MyActionResult?Page=data&PostData=" + PostData; 
+0

您不能發佈使用GET,但至少您修復了參數名稱 – mplungjan

+0

@mplungjan該操作方法未用HttpPostAttribute標記,因此我假定它不是帖子。 – thepirat000

+2

計算問題中「發佈」的次數? – mplungjan

1

試試這個

var url = '@Url.Action("../Home/MyActionResult")' + '?Page='+data+'&'+PostData; 
window.location.href = url; 
0

這種類型的傳遞數據是個不錯的辦法。請嘗試查看另一種代碼方法。這對於大量數據,網址,安全數據不起作用。

相關問題