加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:45:32 所属栏目:百科 来源:网络整理
导读:我的 javascript代码,ajax发布数据: $.ajax({ url: '/Configurations/GetSelectedPageTranslation',type: 'POST',data: { inttype: $("#some").val(),objectType:{prop1: 'adsfa',prop2: 'asdf'}},success: function (result) { },error: function () { ale
我的 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正在处理完全相同的问题,因此您还可以找到示例代码和其他链接,以帮助您入门.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读