编程语言
首页 > 编程语言> > c# – Asp.Net MVC中项目之间的共享声明性html助手

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