微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – ASP.NET MVC可以将JSON对象传递给带有动态类型参数的参数的控制器吗?

我的 javascript代码,ajax发布数据:

$.ajax({
                url: '/Configurations/GetSelectedPageTranslation',type: 'POST',data: { inttype: $("#some").val(),objectType:{prop1: 'adsfa',prop2: 'asdf'}},success: function (result) {

                },error: function () {
                    alert('error');
                }
            });

在控制器中,我有一个带签名的方法

public JsonResult GetSelectedPageTranslation(int inttype,dynamic objectType)

我可以正确地使用inttype.但是objectType不会为null,但如果我喜欢objectType.prop1,它将抛出错误.如果我将JSON.stringify javascript中的对象类型,控制器中的objectType将具有字符串值.

是否可以使用如下动态数据类型直接访问控制器中的JSON数据:objectType.prop1?

谢谢

解决方法

MVC3中没有开箱即用的动态动作参数支持.

但是MVC非常易于扩展,因此您可以添加功能.您需要做的是创建一个自定义IModelBinder,您可以在其中执行JSON反序列化并构建动态对象.

幸运的是这篇文章Making MVC 3 a little more… dynamic正在处理完全相同的问题,因此您还可以找到示例代码和其他链接,以帮助您入门.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐