asp.net-mvc – 用于控件名称的参数化前缀的局部视图
发布时间:2020-12-15 22:30:36 所属栏目:asp.Net 来源:网络整理
导读:我有一个BarEditor.ascx,可以从不同的地方调用. %@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControlMyApp.Models.Bar" %%= Html.TextBox("a") %... 现在考虑我需要在一页Edit.aspx上编辑两个对象 form action="update" div % Html.RenderPa
我有一个BarEditor.ascx,可以从不同的地方调用.
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Models.Bar>" %> <%= Html.TextBox("a") %> ... 现在考虑我需要在一页Edit.aspx上编辑两个对象 <form action="update"> <div> <% Html.RenderPartial("BarEditor",ViewData["bar"]); %> </div> <div> <% Html.RenderPartial("BarEditor",ViewData["baz"]); %> </div> <input type="submit" value="Submit" /> </form> 这提出: a=1&a=2 我需要它: bar.a=1&baz.a=2 所以我们可以用它来处理它 public ActionResult Update(Bar bar,Bar baz) { ... } 编写可重用的BarEditor.ascx可以为控件名称生成前缀的最佳方法是什么? 解决方法
只需为BarEditor创建一个ViewModel类,并将其强类型化为这个新类
例如 namespace ViewModel { public class BarEditor { string Prefix { get; set; } Models.Bar Bar { get; set; } } } 现在你像这样在BarEditor.ascx中创建文本框 <%= Html.TextBox(Model.Prefix + ".a") %> 并且在您看来,您包括BarEditor <form action="update"> <div> <% Html.RenderPartial("BarEditor",new ViewModel.BarEditor { Prefix = "Bar",Bar = ViewData["bar"]}); %> </div> <div> <% Html.RenderPartial("BarEditor",new ViewModel.BarEditor { Prefix = "Baz",Bar = ViewData["baz"]}); %> </div> <input type="submit" value="Submit" /> </form> 心连心 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [ASP.NET Core 2.0 前方速报].NET Core 2.0.3&
- asp.net – AppendHeader是否与AddHeader完全相同?
- asp.net-core – ASP .NET vNext MVC没有传递给下一个管道?
- 验证 – 想知道为什么DisplayName属性在被覆盖属性的LabelF
- 如何在中心对齐asp.net标签文本
- asp.net – 用于vs 2010安装和配置的Web API
- asp.net-mvc – 集合的验证摘要
- asp.net-mvc – 在ASP .NET MVC 3中使用XSLT
- entity-framework-4 – 通过扩展方法的IDbSet和公开包含方法
- asp.net – AppFabric Cache连接类型和协议
推荐文章
站长推荐
- asp.net – MVC3 – 向控制器添加一个文件夹?
- asp.net-mvc – ASP.NET MVC ActionFilter参数绑
- ASP.NET MVC 4和ExtensionlessUrlHandler
- 61条面向对象设计的经验原则 转载
- ASP.net控件在实现资源时在代码背后找不到
- 如何基于.NET Core创建ASP.NET项目,而不是基于完
- asp.net – 如何以编程方式回收.net Web应用程序
- 清除多个工作进程的ASP.net缓存
- asp.net-mvc-3 – MVC3 Webgrid Paging在Jquery对
- asp.net – Context.Response.End()和Thread正在
热点阅读