[英]How do I call a post actionresponse passing the selected dropdown item as a parameter from javascript within a view
我如何調用后動作響應,將選定的下拉項作為參數從asp.net,razor,mvc內的視圖中的javascript中傳遞
基本上,正如我確定您可以從下面的代碼中看出來的那樣,我正在嘗試完成上述工作,但沒有取得太大的成功。 我應該怎樣改變才能成功? 謝謝
<script type="text/javascript">
$(function() {
$("#mydropdown").change(function() {
var selectedItem = $(this).val();
$.ajax({
url: '@Url.Action("DoStuff", "MainController")',
type: "Post",
data: { name: selectedItem },
success: function () {
alert('success');
}
});
});
});
[HttpPost]
public ActionResult DoStuff(String Selecteditem)
{
CIModel CIModellList = CILHelper.ImportFunc(Selecteditem);
return View(CIModellList);
}
截至目前,下拉列表沒有任何變化。 雖然如果我刪除了ajax函數,並用警報替換它。 然后,在這種情況下會出現警報。
在這一點上,即使結果和控制器都按指定的方式命名,動作結果和控制器也似乎都在項目中不存在(紅色)。
C#似乎建議操作或控制器都不存在,給出錯誤“無法解決操作”或“無法解決控制器”
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
<select id="mydropdown">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
</select>
<script type="text/javascript">
$(function() {
$("#mydropdown").change(function() {
var selectedItem = $(this).val();
$.ajax({
url: '@Url.Action("DoStuff", "MainController")',
type: "Post",
data: { name: selectedItem },
success: function () {
alert('success');
}
});
});
});
</script>
</body>
</html>
[HttpPost]
public ActionResult DoStuff(string name)
{
CIModel CIModellList = CILHelper.ImportFunc(name);
return View(CIModellList);
}
您必須先將參數名稱更改為SelectedItem,以使其與您的操作方法的參數匹配,並對json數據進行字符串化,然后再傳遞,
JSON.stringify({ SelectedItem :selectedItem })
請參閱此作為參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.