javascript - 如何传递下拉列表选择的值以获取 mvc 控制器中的功能
问题描述
我对 asp.net MVC 完全陌生,我有一个从数据库填充的下拉列表。现在我需要在控制器的 get 函数中发送选定的值(id),以便我可以加载选定的值详细信息这是我尝试过的代码。
看法:
@Html.DropDownListFor(model => model.ProductName, new SelectList(Model.ProductsList, "ProductID", "ProductName"), new
{
id = "Productslist",
@class = "GreenDropDownListStyle",
@datastyle = "dropdown",
})
java脚本代码:
<script type="text/javascript">
$(document).ready(function () {
$("#Productslist").change(function () {
debugger;
var SelectedProductID = this.value;
if (SelectedProductID != "") {
$.ajax(
{
type: 'GET',
url: '/Inventory/ViewProduct',
data: { ProductID: SelectedProductID },
contentType: 'application/json; charset=utf-8',
success: function (details) {
//alert("success");
},
});
} else {
}
});
});
</script>
此代码可以获取选定的 id 并查看成功警报消息,但它不会将选定的值 (id) 发送到控制器中的 post 函数
控制器:
[HttpPost]
public ActionResult ViewProduct(int? ProductID)
{
if (ProductID != null && ProductID >0)
{
}
else
{
message = "";
}
return View();
}
解决方案
您应该POST
在此处指定为 http 方法。
$.ajax({
method: 'POST',
url: '/Inventory/ViewProduct',
data: { ProductID: SelectedProductID },
contentType: 'application/json; charset=utf-8',
success: function (details) {
//alert("success");
}
});
值得查看此链接以获取有关如何使用 jquery ajax 功能的更多详细信息。
顺便说一句,如果您使用的是 1.9.0 之前的 jQuery 版本,请使用type: 'POST'
而不是。method: 'POST'
推荐阅读
- python - Pygame:返回变量的按钮运行函数
- c++ - Boost Graph Library:资源受限的最短周期
- git - Git 合并之前还原的提交
- css - Flask 为绝对存在的 css 文件提供 404
- android - 将 Kotlin 变量与 Activity-XML 连接起来
- regex - 如何在 Nginx 上重写@sign?
- java - 如何使用 GSON 反序列化不同类型的数组
- node.js - 本地 Angular 服务器和本地节点服务器不适用于外部设备
- python - 如何循环打印输出并将每个结果写入csv?
- python - 在其他序列中找到频率最高的序列