asp.net-mvc – 从部分视图问题返回模型
发布时间:2020-12-16 07:00:40 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个局部视图(即使是编辑器模板),我将一个子模型传递给视图,但是,当我单击“提交”时,我总是从局部视图中获得“null”.除了子模型1之外,我可以获得Main模型的属性值. 主要模型 public class PetModel{ public string name {get; set;} public long S
我创建了一个局部视图(即使是编辑器模板),我将一个子模型传递给视图,但是,当我单击“提交”时,我总是从局部视图中获得“null”.除了子模型1之外,我可以获得Main模型的属性值.
主要模型 public class PetModel { public string name {get; set;} public long SpeciesID {get; set;} public long BreedID {get; set;} public Calendar DOB {get; set;} } 子模型 public class Calendar { public string Year{get; set;} public string Month{get; set;} public string Day{get; set;} } 主视图 @model Application.Models.PetModel @using (Html.BeginForm("CatchPetContent","Quote",Model)) { @Html.TextBoxFor(x => x.Name) @Html.DropDownListFor(x=>x.SpeciesID,new List<SelectListItem>(),"select") @Html.DropDownListFor(x=>x.BreedID,"select") @Html.EditorFor(Model => x.DOB) <input type="submit" value="submit" /> } 编辑模板 @model Application.Models.Calendar @Html.DropDownListFor(Model => Model.Day,new List<SelectListItem>()) @Html.DropDownListFor(Model => Model.Month,new List<SelectListItem>()) @Html.DropDownListFor(Model => Model.Year,new List<SelectListItem>()) “CatchPetContent”动作 [HttpPost] public ActionResult CatchPetContent(PetModel Model) { PetModel pet = new PetModel(); pet.Name = Model.Name; pet.SpeciesID = Model.SpeciesID; pet.BreedID = Model.BreedID; pet.DOB = Model.DOB;// always null RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary(); redirectTargetDictionary.Add("Controller","Home"); redirectTargetDictionary.Add("Action","Index"); return new RedirectToRouteResult(new RouteValueDictionary(redirectTargetDictionary)); } 当我调试它时,“Model.DOB”始终为null 解决方法
您应该将子属性添加为操作的额外参数:
[HttpPost] public ActionResult CatchPetContent(PetModel Model,Calendar Bob) { ** snip ** } 默认的ModelBinder不嵌套对象.但是,如果将其作为第二个参数包含在内,它会找到值. 如果你想嵌套它们,你必须创建自己的模型绑定器. 以下问题也存在类似问题:List count empty when passing from view to model in ASP.Net MVC (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net core 运用 Redis 配置步骤
- asp.net – 使用Page.Render覆盖后缓存替换
- asp.net – 在PostBack期间Recaptcha消失
- ASP.Net自定义客??户端验证
- 在asp.net页面中的CSS粘贴页脚
- 如何在ASP.Net Web API中为特定控制器启用Windows身份验证
- asp.net – 清除Repeater Vb.net中的所有行
- asp.net – Web部署项目:不预编译发布
- asp.net – asp .net mvc OnResultExecuting modify filter
- asp.net – 版本16.1.1.0中不提供AjaxControlToolkit.Toolk
推荐文章
站长推荐
- asp.net – 使用HTML’readonly =“readonly”’
- asp.net-mvc-4 – 如何使用Hot Towel角色使用Win
- asp.net – 获取连接到SignalR hub的客户端数量
- asp.net – Request.ServerVariables [“REMOTE_
- asp.net-mvc – 实体框架 – 如何防止创建列的模
- asp.net-mvc – 如何锁定ASP.NET MVC中的路径?
- asp.net-core – 日期输入标记帮助程序未显示数据
- asp.net-mvc – 如何使用rhino mocks在MVC RC1中
- asp.net创建helloWord
- asp.net – Facebook API – 签名请求无效. (签名
热点阅读