jquery - 如何使用jquery将逗号分隔值从视图发送到控制器
问题描述
在我的 MVC 应用程序中,我试图使用 jquery 将值从 .cshtml 页面发送到控制器。我在 jquery 中的按钮单击上编写了以下代码,以从多选下拉列表中检索选定的值。
var selBrand = $("#BrandId option:selected");
selBrand.each(function () {
bradValues += ',' + $(this).val();
});
它以字符串格式显示逗号分隔的值,如“,1,2,3”,我可以使用警报对话框看到它。然后我试图通过一个变量将此值发送到控制器:
var Discount =
{
DiscountType: $('#DiscountType').val(),
DiscountOn: $('#DiscountOn').val(),
BrandId: bradValues,
}
$.ajax({
type: "POST",
url: '/Discount/Create',
data: Discount,
contentType: "application/json; charset=utf-8",
//dataType: "html",
processData: true,
success: function (response) {
alert('Ok');
},
failure: function (response) {
alert(response.responseText);
}
});
但问题是,当我检查控制器时,我可以看到像“1”这样的单个值,而不是逗号分隔的字符串。在模块中,我将 BrandId(由 bradValues 表示)声明为字符串。
解决方案
好吧,如果您也共享代码的控制器端会更好。但是,我建议您检查两件事。
使用 console.log(Discount.BrandId) 确保该值确实是逗号分隔的形式(您在评论中提到您确定没问题)。
这让我们指出第二点,在您的控制器中,您是List<string>
用来保存此参数的值还是string
. 我建议在 JS 代码中创建一个 BrandID 数组,然后将其发布到控制器并尝试获取这些值List<string>
。
推荐阅读
- wordpress - Woocommerce 订单列表中的私人笔记
- ruby-on-rails - 如何将活动记录类特定属性映射到rails中相应的通用关注方法
- android - Java replaceAll 将“null”放入结果中
- java - Java中的PKCS5_PBKDF2_HMAC_SHA1
- sql - SQL连接表与12列复合PK与自身无痛
- node.js - 如何在 WebStorm 中使用“运行任何东西”停止服务?
- wordpress - LinkedIn 分享帖子不起作用并给出错误消息:“不是你,是我们,请再试一次。”
- omnet++ - Omnet++:子模块嵌套太深
- c - 没有C中的引用调用?
- angular - Angular - 等待 ngFor 更新 DOM