asp.net - Ajax 调用未将数组传递给控制器操作
问题描述
我将一个数组变量传递给控制器。来自 ajax 调用的数组包含数据,但在调用控制器后它显示 count=0。
var url = '@Url.Action("UserRoleCompany_AddUserAccess", "UserRoleCompany")';
$.ajax({
url: url,
data: { userIDs: userIDs, Organisation: Organisation, RoleName: RoleName, userIDsLength: userIDsLength, UserStatus: UserStatus },
cache: false,
type: "POST",
success: function (data) {
location.reload(true);
},
error: function (reponse) {
alert("error : " + reponse);
}
});
下面的控制器代码,
public ActionResult UserRoleCompany_AddUserAccess(List<int> userIDs, string Organisation, string RoleName, int userIDsLength,int UserStatus)
{
LMTUsage objLMT = new LMTUsage();
LMTDAL objLMTDAL = new LMTDAL();
objLMTDAL.UserRoleCompany_AddUserAccess(Organisation, RoleName, userIDsLength, UserStatus);
return RedirectToAction("Index");
}
解决方案
@lucumt
我用表格尝试过同样的事情 - 从表格中选择多行并将其发送到控制器,它工作正常。
请在下面查看并告诉我。
var url = '@Url.Action("UserRoleCompany_UpdateUserAccess", "UserRoleCompany")';
$.ajax({
url: url,
data: { Ids: checkedIds, newUserStatus: UserStatus },
cache: false,
type: "POST",
success: function (data) {
location.reload(true);
},
error: function (reponse) {
alert("error : " + reponse);
}
});
控制器
public ActionResult UserRoleCompany_UpdateUserAccess(List<int> Ids, int newUserStatus)
{
LMTUsage objLMT = new LMTUsage();
LMTDAL objLMTDAL = new LMTDAL();
string userRoleIds = String.Join(",", Ids);
objLMTDAL.UserRoleCompany_UpdateUserAccess(userRoleIds, newUserStatus);
return RedirectToAction("Index");
//return RedirectToAction("Index", "UserRoleCompany");
}
推荐阅读
- resolve - getent 主机无法解析主机名
- flutter - 包从颤振智能手表接收心率数据
- javascript - 在 JavaScript 中更新对象属性的更短方法?
- xamarin.forms - 如何在 xamarin 表单中更改搜索栏搜索图标的颜色和取消按钮颜色
- ruby-on-rails - Rails RSS Feed 未呈现为 XML
- python - Pyspark Luigi 多个工人问题
- python - 检测数据框中的特定字符
- python - Binance 期货测试网上的空头订单导致 APIError(ReduceOnly 订单被拒绝)
- python - 无法单击 xpath 选定对象 Selenium (Python)
- swiftui - 如何影响 SwiftUI contextMenu 展示位置?