asp.net-mvc – 用于控件名称的参数化前缀的局部视图
发布时间:2020-05-24 08:07:58 所属栏目:asp.Net 来源:互联网
导读:我有一个BarEditor.ascx,可以从不同的地方调用. %@ Control Language=C# Inherits=System.Web.Mvc.ViewUserControlMyApp.Models.Bar %%= Html.TextBox(a) %... 现在考虑我需要在一页Edit.aspx上编辑两个对象 form action=update
|
我有一个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-mvc – asp.mvc中渲染的区别是什么
- asp.net-mvc-3 – 是否有自动方式在MVC中查找未使用的视图?
- asp.net-mvc-3 – 比较(密码)属性
- ASP.NET MVC页面不会加载并说“找不到资源”
- asp.net-mvc – Razor MVC模型正在丢失保存操作的数据
- asp.net-mvc – MVC3 EF4 POCO存储库/ UnitOfWork连接错误
- 在ASP.NET Web应用程序中有未处理的异常是否可以接受?
- asp.net-mvc-3 – MVC3,多文件上传,模型绑定
- asp.net-mvc – 在EditorTemplate中渲染字段名称(通过Edito
- asp.net-mvc – 维护消息完整性
推荐文章
站长推荐
- asp.net-mvc-3 – 滚动我自己的@ Html.BeginfBrm
- asp.net-mvc – 使JSON.NET和Serializable属性一
- asp.net-mvc – 可以浏览DataAnnotations的自定义
- asp.net-mvc-3 – Paypal Sandbox MVC3
- asp.net – 在日历上设置最小和最大日期?
- asp.net-mvc – 为缺少的ASP.Net MVC控制器更正4
- asp.net – .Net的新文件?
- asp.net上传文件到数据库的解决方案
- asp.net – 偶尔获取SqlException:超时过期
- asp.net – Request.ServerVariables [“REMOTE_
热点阅读
