asp.net-mvc-3 – MVC3将基类传递给局部视图 – 提交表单只有父
发布时间:2020-12-16 09:22:31 所属栏目:asp.Net 来源:网络整理
导读:我有一些从ViewModel基类继承的子ViewModel类. 我将我的孩子ViewModel传递给我的View,然后将其传递给局部视图. 主视图采用子类型,但局部视图采用父类型. 手动填充属性时,一切都正确显示. 但是,当我提交表单时,我的控制器操作只有Child类的属性 – 没有基类属
我有一些从ViewModel基类继承的子ViewModel类.
我将我的孩子ViewModel传递给我的View,然后将其传递给局部视图. 手动填充属性时,一切都正确显示. 例如 public abstract class BaseDetails { public string Name { get; set; } public BaseDetails() { } public BaseDetails(string name) { Name = name; } } public class LocalDetails:BaseDetails { public int Visits { get; set; } public LocalDetails() { } public LocalDetails(int visits,string name) :base(name) { Visits = visits; } } 视图简单如下: @using (Html.BeginForm()) { @Html.TextBoxFor(m => m.Visits) <br /> @Html.Partial("Name",Model) <input id="Submit1" type="submit" value="submit" /> } 部分视图上有一个文本框. 在IE中:ViewSource显示表单标记位于两个tetxboxes周围. 但是,当我提交控制器方法时: [HttpPost] public ActionResult EditLocal (LocalDetails model) model.Visits是否正确填充,但model.Name为空? 有任何想法吗? 解决方法
无法重现.对我来说很好.请注意,我没有在视图模型中使用任何构造函数,因为模型绑定器无法调用它们,并且所有属性都必须具有公共getter和setter.
模型: public abstract class BaseDetails { public string Name { get; set; } } public class LocalDetails : BaseDetails { public int Visits { get; set; } } 控制器: public class HomeController : Controller { public ActionResult Index() { return View(new LocalDetails()); } [HttpPost] public ActionResult Index(LocalDetails model) { return View(model); } } 查看(?/ Views / Home / Index.cshtml): @model LocalDetails @using (Html.BeginForm()) { @Html.TextBoxFor(m => m.Visits) <br /> @Html.Partial("Name",Model) <input type="submit" value="submit" /> } 部分(?/ Views / Home / Name.cshtml): @model BaseDetails @Html.TextBoxFor(x => x.Name) 当我在POST索引操作中提交表单时,两个模型属性Name和Visits都与表单中的值正确绑定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在ASP.NET Web窗体中收集输入值的推荐方法是什么
- asp.net-mvc – 具有多个参数的ActionLink
- asp.net-mvc – Asp.net MVC中的TimeSpan和“24:00”解析错
- asp.net-mvc – 使用EF4转换为datetime时发生溢出
- asp.net – 如何使用Log4Net启用IP地址记录
- asp.net – IIS 7如何使用数据库中的用户帐户映射客户端证书
- asp.net-mvc – Microsoft MVC 4,APIController和适当的RES
- asp.net-mvc – ASP.NET MVC Razor中的默认radiobuttonlist
- 有没有替代ASP.NET的C#web开发?
- asp.net-mvc – 使用和新Relic进行Azure部署
推荐文章
站长推荐
- 如何在asp.net转发器控件中获取项目点击事件?
- asp.net-web-api – ASP.NET Web API IQueryable
- asp.net-mvc – 如何创建ELMAH SQL Server数据库
- asp.net-mvc – 在Web API 2中使用MVC 5 Attribu
- asp.netcore di 实现批量接口注入
- asp.net – 当BackColor透明时,MS图表中的文字变
- asp.net-mvc – asp.net mvc中HttpUnauthorizedR
- 如何使ASP.NET MVC应用程序多语言?
- asp.net-mvc-3 – HTML.CheckBox MVC3的相同名称
- asp.net – 可以在Visual Studio 2010中将任务列
热点阅读