谢谢.解决方法 你不能这样做.您可以添加到HTML类的唯一方法是通过扩展方法.您无法添加“扩展属性”,这是您使用HTML.MyApp所需的.你最接近的是HTML.MyApp().方法(…)
你最好的选择可能是将它们作为扩展方法包含在HTML中,或者完全创建一个新类(例如MyAppHTML.Method(…)或MyApp.HTML.Method(…)).最近有一篇博客文章专门展示了这些方法的“Html5”课程,但不幸的是我的谷歌技能让我失望了,我找不到它:(
2011年10月13日在评论中提出
要做一些像HTML.MyApp().Actionlink()这样的事情,你需要在HTMLHelper上创建一个扩展方法,它使用你的自定义方法返回一个类的实例:
namespace MyHelper{ public static class MyHelperStuff { // Extension method - adds a MyApp() method to HTMLHelper public static MyHelpers MyApp(this HTMLHelper helper) { return new MyHelpers(); } } public class MyHelpers { public IHTMLString Actionlink(string blah) { // Wrap the HTML in an MvcHTMLString otherwise it'll be HTMLEncoded and displayed to the user as HTML :( return new MvcHTMLString(string.Format("<a href=\"#\">{0}</a>",httpUtility.HTMLEncode(blah))); } }}
注意:您需要在Web.config中导入此类所在的命名空间,如下所示:
<?xml version="1.0"?><configuration> <system.web.webPages.razor> <pages> <namespaces> <add namespace="MyHelper"/> </namespaces> </pages> </system.web.webPages.razor></configuration>总结
以上是内存溢出为你收集整理的.net – MVC HTML Helper自定义命名空间全部内容,希望文章能够帮你解决.net – MVC HTML Helper自定义命名空间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)