asp.net – 如何接收JSON作为MVC 5操作方法参数
发布时间:2020-05-22 11:50:12 所属栏目:asp.Net 来源:互联网
导读:我一直在试图整个下午爬行通过网络试图接收一个JSON对象在动作控制器。 什么是正确的或更容易的方式去做? 我试过以下: 1: //Post/ Roles/AddUser [HttpPost] public ActionResult AddUser(String model) { if(model != null) {
|
我一直在试图整个下午爬行通过网络试图接收一个JSON对象在动作控制器。 什么是正确的或更容易的方式去做? 我试过以下: //Post/ Roles/AddUser
[HttpPost]
public ActionResult AddUser(String model)
{
if(model != null)
{
return Json("Success");
}else
{
return Json("An Error Has occoured");
}
}
这给了我一个null值我的输入。 2: //Post/ Roles/AddUser
[HttpPost]
public ActionResult AddUser(IDictionary<string,object> model)
{
if(model != null)
{
return Json("Success");
}else
{
return Json("An Error Has occoured");
}
}
这给我一个500错误在jquery一边是试图发布到它? (意味着它没有正确地绑定)。 这里是我的jQuery代码: <script>
function submitForm() {
var usersRoles = new Array;
jQuery("#dualSelectRoles2 option").each(function () {
usersRoles.push(jQuery(this).val());
});
console.log(usersRoles);
jQuery.ajax({
type: "POST",url: "@Url.Action("AddUser")",contentType: "application/json; charset=utf-8",dataType: "json",data: JSON.stringify(usersRoles),success: function (data) { alert(data); },failure: function (errMsg) {
alert(errMsg);
}
});
}
所有我想做的是在我的mvc操作中接收我的JSON对象? 解决方法不幸的是,字典总是在MVC中的模型绑定的问题。 Read the full story here.因此,我们必须创建我们自己的自定义模型绑定器,以获取Dictionary作为我们的控制器操作的参数。为了解决你的要求,这里是工作的解决方案 – 首先按照以下方式创建ViewModel。 PersonModel可以有RoleModel列表。 public class PersonModel
{
public List<RoleModel> Roles { get; set; }
public string Name { get; set; }
}
public class RoleModel
{
public string RoleName { get; set;}
public string Description { get; set;}
}
然后有一个索引操作将服务基本索引视图 – public ActionResult Index()
{
return View();
}
索引视图将有以下JQuery AJAX POST操作 – <script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
$(function () {
$('#click1').click(function (e) {
var jsonObject = {
"Name" : "Rami","Roles": [{ "RoleName": "Admin","Description" : "Admin Role"},{ "RoleName": "User","Description" : "User Role"}]
};
$.ajax({
url: "@Url.Action("AddUser")",type: "POST",data: JSON.stringify(jsonObject),error: function (response) {
alert(response.responseText);
},success: function (response) {
alert(response);
}
});
});
});
</script>
<input type="button" value="click1" id="click1" />
索引动作发布到AddUser操作 – [HttpPost]
public ActionResult AddUser(PersonModel model)
{
if (model != null)
{
return Json("Success");
}
else
{
return Json("An Error Has occoured");
}
}
所以现在当post发生时,你可以获取所有发布的数据在action的action参数。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC – 如何从局部视图中获取当前操作?
- asp.net-mvc – 提交表单并将数据传递给FileStreamResult类
- asp.net-mvc – 使用令牌认证访问Web Api的MVC .NET cookie
- 如何单元测试我的asp.net-mvc控制器的OnActionExecuting方法
- asp.net-mvc – ASP.NET MVC推荐的依赖注入框架是什么?
- asp.net-mvc – 使用HtmlHelper类时,MVC单选按钮列表未分组
- asp.net-mvc – 使用Razor的ASP.NET MVC 3 – 将条件表达式
- asp.net – 从Owin WebApi2返回描述性401消息
- asp.net-mvc – HTML.Hidden For value set
- asp.net-mvc – 如何每秒自动刷新MVC PartialView
推荐文章
站长推荐
- asp.net – 控制器SessionStateBehavior是ReadOn
- asp.net – 错误消息401.2:未授权:由于服务器配
- asp.net-mvc-4 – 如何在Kendo UI Grid中扩展页面
- .net – RegularExpressionValidator使用除Regex
- asp.net – HTML divs可以在浏览器窗口之外?
- MVC学习二:基础语法
- 选择完成后和提交上传之前的asp.net FileUpload事
- .net – 使用FileStreamResult,MemoryStream是如
- 是否可以在.NET中将WinForm转换为WebForm?
- ASP.NET清空缓存时遇到的问题简析
热点阅读
