通常,在ASP.NET MVC项目中App_Code目录下新建.cshtml编写类似下方的代码就能创建自定义的MVC Helper了,
假设文件名为StrHelper.cshtml,那么在别的视图中的就可以这么调用:@StrHelper.MySubstring("以xjp为核心的党*推进深改纪实", 10)。
@helper MySubstring(string input,int length)
{
if(input.Length>length)
{
<span>@input.Substring(0, length)...</span>
}
else
{
<span>@input</span>
}
}
接下来,我们可以借助Razor Generator进一步将这个MVC Helper封装编译成DLL,(我的两台VS Ultimate 2013都无法安装,VS Community 2015安装成功)
将StrHelper.cshtml复制到新的类库中,设置文件属性,并为类库添加引用,如下图所示。
正确操作以上步骤后会在StrHelper.cshtml文件下生成StrHelper.generated.cs文件,但这自动生成的代码并不完美,
我们需要对该文件进行简单的修改,如下图所示。(后续对StrHelper.cshtml再进行操作,此处的修改将被覆盖)
到此所有工作完成,编译取出DLL即可使用,在页面引用DLL命名空间,剩下的像常规使用Helper一样即可,使用效果图如下。