首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >张贴时orchardcms/mvc空值

张贴时orchardcms/mvc空值
EN

Stack Overflow用户
提问于 2013-02-05 08:35:02
回答 1查看 109关注 0票数 1
代码语言:javascript
复制
public class Address
    {
        public string Street { get; set;}
    }


public class MyModel
    {
        public string Name { get; set;}
        public Address MyAddress { get; set;}
    }


public class MyController : Controller
{
        [HttpPost]
        public JsonResult DoStuff(MyModel model)
        {
            // model.Name has its value
            // model.MyAddress is there, but its .Street is always null
            // Do stuff
        }
}

我就是这样发到控制器的

代码语言:javascript
复制
var data =
    {
        __RequestVerificationToken: $("input[name=__RequestVerificationToken]").val(),
        Name: "Arnold",
        MyAddress: 
        {
               Street: "my address"
        }
    }

$.ajax({
        type: 'POST',
        url: "/myroute/dostuff", //Yes i should not use the hardcoded url but this is just for show
        data: data,
        async: false,
        success: function (result) {
            // ...
        },
        dataType: 'json',
    });

看着摆手贴出正确的数据..。如果我看一下ModelState,它只有一个键,"Name“。

编辑:

如果我这么做:

代码语言:javascript
复制
public class MyController : Controller
{
        [HttpPost]
        public JsonResult DoStuff(FormCollection formCollection)
        {
            // formCollection has all the data..
            // so i guess its the binding? :o any ideas how to fix?
            // Do stuff
        }
}
EN

回答 1

Stack Overflow用户

发布于 2013-02-05 11:06:43

如果在操作方法的第一行调用UpdateModel(model),会发生什么情况?这可能是因为模型绑定没有隐式地获取Address属性,您需要给它一个明确的提示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14703139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档