如何在 asp.net、razor、mvc 内的 View 中调用后操作响应,将选定的下拉项作为来自 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 功能,并将其替换为警报。那么这种情况下的警报就会出现。
此时,actionresult 和 Controller 看起来好像在项目中不存在(红色),尽管它们确实存在并且按规定命名。
c# 似乎表明操作或 Controller 实际上都不存在,给出错误“无法解析操作”或“无法解析 Controller ”
最佳答案
<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);
}
关于javascript - 如何调用后操作响应,将选定的下拉项作为参数从 View 中的 javascript 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26465915/