我使用ASP.NET和Razor作为我的视图引擎。
有不同的.cshtml文件,但是每个文件都包含,代码如下:
@functions
{
// Here some of my code, but it's the same code for each .cshtml file...
}我的问题是:如何将此@functions外包给外部文件?因为目前我在所有文件中都有相同的代码,我不喜欢这样。
发布于 2014-03-21 08:37:54
“部分视图”是我要找的词。
非常感谢普拉纳夫·辛格的帮助。
教程:
部分视图允许我们将HTML和C#代码放入一个文件中,我们可以在多个其他视图中重用该文件。在处理大型应用程序时,这是非常有用的。
假设我们有下面的代码,我们想要使它对其他视图可重用。

我们将提取上述标记的代码,并将其粘贴到一个新的“部分视图”中,然后我们将调用这个foreach循环中的“部分视图”。请使用以下内容。
步骤1
选择上述代码并将其复制到剪贴板。
步骤2
右键单击任意视图文件夹以创建新的“部分视图”。

此视图页可以使用任意名称,但建议在表示可重用内容的视图名称之前使用下划线符号(_)。您还可以在上面的对话框中选择"Model class“来创建强类型视图。并记住选中复选框“”。
步骤3
现在,在“部分视图”页面中粘贴上面复制的所有代码。您可能需要在这里修复一些错误,比如@item.Name将变成@Model.Name。以下是完整的代码:

步骤4
还有一件事,您需要在我们复制代码的位置放置一个引用,如下所示:

记住传递“部分视图”名称和模型名称。现在,运行应用程序,您的应用程序将同样工作,因为我们刚刚在应用程序中设置了一个新结构。
希望这能有所帮助。
所有学分都归Abhimanyu K Vatsa所有,本教程被发现为这里。
https://stackoverflow.com/questions/22553676
复制相似问题