ASP.Net MVC HTMLHelper与外部HTML

时间:2016-01-27 16:19:02

标签: c# asp.net-mvc asp.net-mvc-4

我在ASP.Net MVC HtmlHelpers上看到了一些教程,他们总是将HTML直接包含在SourceCode中。

我想创建可重复使用的控件,这样我就不必在下一个项目中反复编写一个Login视图及其部分内容。

如果我能编写DLL并将我创建的所有用户控件放在其中,那么最好的事情就是

前段时间我用AngularJS编写了一个应用程序,并且有指令 在他们身上是templateUrl。在Asp.Net MVC中有类似的东西吗?

我使用的是Razor View Engine和.Net Framework 4.0。

我知道我可以使用部分视图,但部分视图似乎在dll中不起作用

1 个答案:

答案 0 :(得分:1)

“如果我能编写一个DLL并将所有创建的用户控件放在其中,那么最好的事情就是” - 你可以。有一个小作弊使得一切都很容易。

编写html帮助程序时,请确保将名称空间更改为System.Web.Mvc.Html

如果您使用TagBuilder类,则不应在C#代码中使用过多的html。

然后,如果你在项目中引用你的dll,你应该可以从你的剃刀视图中访问html帮助器

可以使用其他命名空间,但您必须编辑Views文件夹中的web.config文件,并在<system.web.webPages.razor>部分添加对命名空间的引用。通过重用已经引用的命名空间,您可以节省一些配置麻烦。

根据您希望在两者之间共享代码的项目数量和数量,您还可以考虑构建服务器产品(我的团队在需要支付许可证之前使用TeamCity大约2年)。然后,您可以生成自己的自定义NuGet包,它允许您共享(和管理更新)部分视图,编辑器模板,HTML帮助程序等等。