c# – Asp.Net MVC中项目之间的共享声明性html助手
作者:互联网
是否可以将声明性html助手放在与应用程序Web项目不同的程序集中?
目前,我知道我可以放置声明性html助手的唯一地方是我的应用程序web项目的“App_Code”文件夹.
经过几个月的开发,我现在有很多这些声明性的html帮助器,我必须在我的所有项目中共享它的唯一解决方案是使用‘Copy Paste Driven Development’的非常糟糕的做法.
还有其他方法吗?
附:
只是不要被什么是声明性html助手的定义所迷惑,这里是一个代码示例,与扩展System.Web.Mvc.Html类型的c#扩展相比有所不同:
@using Microsoft.Web.Mvc.Html
@helper YesNoRadioButton(System.Web.Mvc.HtmlHelper html, string name, bool value, bool disable = false)
{
@html.RadioButton(name, true, value, id: name.Replace(".", "_") + "_Yes", disabled: disable) @:Oui
@html.RadioButton(name, false, !value, id: name.Replace(".", "_") + "_No", disabled: disable) @:Non
}
@helper YesNoRadioButton(System.Web.Mvc.HtmlHelper html, string name, bool? value, bool disable = false)
{
@html.RadioButton(name, true, value.HasValue && value.Value, id: name.Replace(".", "_") + "_Yes", disabled: disable) @:Oui
@html.RadioButton(name, false, value.HasValue && !value.Value, id: name.Replace(".", "_") + "_No", disabled: disable) @:Non
}
解决方法:
创建这些帮助程序的类库,然后在项目之间共享它.如果您将帮助程序放在自定义创建的文件夹Helpers中会更好.这就是我的工作.
你可以参考这个答案:Where shall I put my utilities classes in a ASP.NET MVC3 application?
标签:c,asp-net-mvc,html-helper 来源: https://codeday.me/bug/20190709/1410843.html