gpt4 book ai didi

c# - 将常见的 Razor 助手移动到另一个文件

转载 作者:可可西里 更新时间:2023-11-01 09:05:17 26 4
gpt4 key购买 nike

我有一个 MVC4 网络应用程序,目前我有几个 @helper 用于多个页面,在 cshtml 中定义。问题是,我必须在使用它们的每个页面上定义它们。是否可以创建一个包含我的所有 @helper.cshtml 文件并将该页面包含到我的 View 中?

即这用于 cms 区域中的每个索引 View 。

@helper DisplayPager(Int32 CurrentPage, Int32 MaxPages) {
String IsActive = "";
<div class="pagination pagination-centered">
<ul>
<li><a href="@Url.Action("Index", new { id = CurrentPage - 1 > 0 ? CurrentPage - 1 : 1 })">Prev</a></li>
@for (int i = 0; i < MaxPages; i++)
{
IsActive = ((i + 1) == CurrentPage) ? "active" : "";

<li class="@(IsActive)"><a href="@Url.Action("Index", new { id = i + 1 })">@(i + 1)</a></li>
}
<li><a href="@Url.Action("Index", new { id = CurrentPage + 1 < MaxPages ? CurrentPage + 1 : MaxPages })">Next</a></li>
</ul>
</div>
}

相同的定义、相同的代码、相同的一切,但现在它在代码中至少出现了 15 次。

最佳答案

这里是实现的说明

此过程向您展示了如何创建用于创建注释的助手,如刚才所述。这是一个简单的示例,但自定义帮助器可以包含您需要的任何标记和 ASP.NET 代码。

  1. 在网站的根文件夹中,创建一个名为 App_Code 的文件夹。这是 ASP.NET 中保留的文件夹名称,您可以在其中放置帮助程序等组件的代码。

  2. 在 App_Code 文件夹中创建一个新的 .cshtml 文件并将其命名为 MyHelpers.cshtml。

  3. 用以下内容替换现有内容:

    @helper MakeNote(string content) 
    {
    <div class="note"
    style="border: 1px solid black; width: 90%; padding: 5px; margin-left: 15px;">
    <p>
    <strong>Note</strong>&nbsp;&nbsp; @content
    </p>
    </div>
    }

    代码使用@helper 语法来声明一个名为MakeNote 的新助手。这个特殊的帮助程序允许您传递一个名为 content 的参数,该参数可以包含文本和标记的组合。助手使用@content 变量将字符串插入到笔记正文中。

    请注意,该文件名为 MyHelpers.cshtml,但助手名为 MakeNote。您可以将多个自定义助手放入一个文件中。

  4. 保存并关闭文件。

article复制过来的

关于c# - 将常见的 Razor 助手移动到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com