大佬教程收集整理的这篇文章主要介绍了asp.net – MVC 3 htmlhelper的扩展方法来包装内容,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@html.createLink("caption","url") { <html> content in tags </html> }
结果应该有
<a href="url" title="Caption"> <html> content in tags </html> </a>
任何帮助这个。
你可以编写一个完全相同的扩展方法。
这是我刚才写的来演示的。
首先,扩展方法:
public static class ExtensionTest { public static MvcAnchor BeginLink(this HtmlHelper htmlHelper) { var tagBuilder = new TagBuilder("a"); htmlHelper.ViewContext.Writer .Write(tagBuilder.ToString( TagRenderMode.StartTag)); return new MvcAnchor(htmlHelper.ViewContext); } }
这是我们的新类型,MvcAnchor:
public class MvcAnchor : IDisposable { private readonly TextWriter _writer; public MvcAnchor(ViewContext viewContext) { _writer = viewContext.Writer; } public void Dispose() { this._writer.Write("</a>"); } }
在你的意见中,你现在可以做:
@{ using (Html.beginLink()) { @Html.Raw("Hello World") } }
结果如下:
<a>Hello World</a>
稍微扩展以处理您的确切要求:
public static MvcAnchor BeginLink(this HtmlHelper htmlHelper,String href,String titlE) { var tagBuilder = new TagBuilder("a"); tagBuilder.Attributes.Add("href",href); tagBuilder.Attributes.Add("title",titlE); htmlHelper.ViewContext.Writer.Write(tagBuilder .ToString(tagRenderMode.StartTag)); return new MvcAnchor(htmlHelper.ViewContext); }
和我们的观点:
@{ using (Html.beginLink("http://stackoverflow.com","The Worlds Best Q&A site")) { @Html.Raw("StackOverflow - Because we really do care") } }
产生结果:
<a href="http://stackoverflow.com" title="The Worlds Best Q&A site"> StackOverflow - Because we really do care</a>
以上是大佬教程为你收集整理的asp.net – MVC 3 htmlhelper的扩展方法来包装内容全部内容,希望文章能够帮你解决asp.net – MVC 3 htmlhelper的扩展方法来包装内容所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。