外包@functions

时间:2014-03-21 08:28:11

标签: c# asp.net razor

我正在使用带有Razor的ASP.NET作为我的视图引擎。

不同的.cshtml文件,但每个文件都包含以下代码:

@functions
{
    // Here some of my code, but it's the same code for each .cshtml file...
}

我的问题是:如何将此@functions外包给外部文件? 因为目前我在所有文件中都有相同的代码而且我不喜欢它。

1 个答案:

答案 0 :(得分:0)

"部分视图"是我一直在寻找的术语。

非常感谢Pranav Singh提供了有用的评论。

<强>教程:

Partial View允许我们将HTML和C#代码放入一个文件中,我们可以在多个其他视图中重复使用。当您处理大型应用程序时,这非常有用。

假设我们有以下代码,我们希望可以为其他视图重复使用。

enter image description here

我们将提取上面标记的代码并将其粘贴到一个新的&#34;局部视图&#34;然后我们就打电话给那个&#34;局部视图&#34;来自这个foreach循环。请使用以下内容。

第1步

选择上面的代码并将其复制到剪贴板。

第2步

右键单击任何视图文件夹以创建新的&#34;部分视图&#34;。

enter image description here

您可以为此视图页面使用任何名称,但建议在表示可重用的视图名称之前使用下划线符号(_)。您还有机会选择&#34;模型类&#34;在上面的对话框中创建一个强类型视图。请记得选中复选框&#34;创建为部分视图&#34;。

第3步

现在,在&#34;局部视图&#34;页面粘贴您上面复制的所有代码。您可能需要修复一些错误,例如@ item.Name将成为@ Model.Name。这是完整的代码:

enter image description here

第4步

还有一件事,你需要在我们复制代码的位置放置一个引用,这里你去:

enter image description here

请记住通过&#34;部分视图&#34;名称和型号名称。现在,运行应用程序,您的应用程序将工作相同,因为我们只是在应用程序中设置了一个新结构。

希望这有帮助。

  

所有积分均转至Abhimanyu K Vatsa,本教程已找到HERE