asp.net – Razor Helpers与代码块共享html问题
发布时间:2020-12-16 07:09:53 所属栏目:asp.Net 来源:网络整理
导读:我想我想做的是“链接”我的数据,以便最终看起来一样. 我的所有 HTML必须以某种形式包装 fieldset class="" data-role="" 所以我有一个帮助打印各种形式.一个是标签: fieldset data-role="@role" label@Html.Raw(label)/label/fieldset 现在我有多种类型的
我想我想做的是“链接”我的数据,以便最终看起来一样.
我的所有 HTML必须以某种形式包装 <fieldset class="" data-role=""> 所以我有一个帮助打印各种形式.一个是标签: <fieldset data-role="@role"> <label>@Html.Raw(label)</label> </fieldset> 现在我有多种类型的标签,其中一种包括代码块.当它是一个 @FieldSet.Label("First Name") 但是,当我有一个代码块,如: <b>some text</b> <p>some other text (some time frame - some time frame) 使用它变得复杂: @FieldSet.Label("<b>" + Model.Text1 + "</b><p>" + Model.Text2 + " (" + Model.Time1 + " - " + Model.Time2 +")</p>") 我想要一个看起来像这样的解决方案: @FieldSet.Label(@<text> <b>@Model1.Text1</b> <p>@Model.Text2 (@Model.Time1 - @Model.Time2)</p> </text>) 我在某个地方看到这是可能的,但我找不到这篇文章.我可能完全被误导,但我真的不想在后面的代码中有一段HTML,我想利用剃刀语法,而不是字符串连接. 解决方法
查看Phil Haack的这篇文章
> http://haacked.com/archive/2011/02/27/templated-razor-delegates.aspx 你可以: 写为强类型HtmlHelper的扩展方法: public static class RazorExtensions { public static HelperResult Label<T>(this HtmlHelper<T> helper,Func<T,HelperResult> template) { return new HelperResult(writer => { writer.Write("<label>"); template(helper.ViewData.Model).WriteTo(writer); writer.Write("</label>"); }); } } 所以你可以写 @Html.Label(@<text><span>@Model.Item1<span><strong>@Model.Item2</strong></text>) 将Model作为辅助方法的参数传递 public static class FieldSet { public static HelperResult Label<T>(this T model,HelperResult> template) { return new HelperResult(writer => { writer.Write("<label>"); template(model).WriteTo(writer); writer.Write("</label>"); }); } } 用法: @FieldSet.Label(Model,@<div><span>@Model.UserName</span><strong>@Model.FullName</strong><p>@Model.Description</p></div>) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 登录后WebSecurity.CurrentUserName和Use
- asp.net – .NET中的垃圾收集器
- asp.net-mvc-3 – ASP.NET MVC 3 JSONP:这适用于JsonValue
- 有什么好的参考或工具可用于将ASP转换为ASP.NET?
- asp.net-mvc-3 – 在基于.NET MVC 3的项目中使用Specflow在
- asp.net – 如何通过在MasterPage上单击按钮来处理usercont
- asp.net-mvc – 在AccountController之外访问UserManager
- Asp.net core应用在 Kubernetes上内存使用率过高问题分析
- 如何使用ASP.NET和iframe对跨域的用户进行身份验证?
- asp.net-mvc – PartialView必须从WebViewPage派生错误
推荐文章
站长推荐
- 维护面板滚动位置部分回传ASP.NET
- asp.net-mvc – DataContractJsonSerializer Rea
- asp.net三层架构增删改查
- kendo-ui – 剑道多选控制 – 从下拉列表中删除所
- 在asp.net中制作某些页面的最佳方法是什么?需要
- asp.net-mvc – NHaml是否具有content_for布局能
- asp.net-mvc – ASP.NET不向客户端发送上传进度
- asp.net-mvc – 具有预设值的Html.HiddenFor
- ASP.NET(C#)应用程序配置文件app.config/web.con
- asp-classic – 如何在asp页面中以编程方式301重
热点阅读