asp.net – 子对象的MVC模型绑定命名约定?
当存在子属性时,我遇到了默认模型绑定命名约定的问题.例如:
我有一个ViewModel,它看起来像这样: public class UserViewModel { public User BusinessObject { get; set; } } 我的User类有一个名为“NetworkLogin”的属性 我的观点有这样的事情: 我的控制器,我想做的,是 [HttpGet] public ActionResult UserIndex(string networkLogin) { } 问题: 但是,我有这个解决方法确实有效,但我不喜欢它.我将它添加到我的ViewModel: public string NetworkLogin { get { if (BusinessObject == null) BusinessObject = new User(); return BusinessObject.NetworkLogin; } set { if (BusinessObject == null) BusinessObject = new User(); BusinessObject.NetworkLogin = value; } } 而我的View页面现在却说明了这一点. 有人能告诉我默认模型绑定的正确命名约定是什么,这样我就不必采用上述解决方法了吗? 谢谢! 解决方法
指示前缀,以便模型绑定器知道BusinessObject.NetworkLogin查询字符串参数实际引用networkLogin,这是您用作操作参数的内容
public ActionResult UserIndex( [Bind(Prefix = "BusinessObject")] string networkLogin ) { ... } 或重用您的视图模型: public ActionResult UserIndex(UserViewModel model) { // TODO: use model.BusinessObject.NetworkLogin // which is gonna be correctly bound here ... } 就您的解决方法而言,一旦您将我的两个建议之一付诸实践,您的视图模型属性应该看起来像这样: public string NetworkLogin { get; set; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在ASP.NET MVC 3中为未经过身份验证的用户缓存主页
- 使用 MiniProfiler 来分析 ASP.NET Core 应用
- 如何从ASP.NET中的soap异常中提取内部异常?
- asp.net-mvc – ASP MVC.NET3本地IIS7对象引用错误
- 如果在BackgroundWorker运行过程中关闭窗体…
- asp.net-mvc-2 – 读取HTTP请求自定义标头
- asp.net – 在HTTP POST IIS ASP .NET上出现HTTP 405错误
- asp.net – 在不使用MVC的情况下在WebPages中渲染部分
- asp.net-mvc – asp.net mvc强类型助手 – 你的渲染绑定对象
- asp.net-mvc – 城堡温莎IoC在一个MVC应用程序
- asp-classic – 经典ASP的好IDE?
- asp.net-mvc – 关于asp.net MVC视图模型模式的几
- 如何调试asp.net mvc 4源代码?
- asp.net-mvc-3 – MVC3正确的方式来改变每个请求
- asp.net-mvc – 使用asp.net属性路由的根路径的默
- asp.net-mvc – MVC3如何禁用/启用ActionLink
- asp.net – 如何创建一个HTML Helper来扩展TextB
- 利用ASP.NET SiteMap生成与Bootstrap"兼容&#
- asp.net – PostbackUrl vs NavigateUrl
- asp.net – 在方法名称上过滤log4net – 无法得到