MVC Html 帮助程序或可重用按钮的部分视图

MVC Html helper or partial view to reusable buttons

我有一个用 bootstrap 类 设计的按钮类型,我想做这个可重复使用的。

我的编辑按钮

        <a href="@Url.Action("Edit", new {id = item.Id})" class="btn btn-warning btn-sm">
            <i class="glyphicon glyphicon-pencil"></i>
        </a>

我的删除按钮

        <a href="@Url.Action("Delete", new {id = item.Id})" class="btn btn-danger btn-sm">
           <i class="glyphicon glyphicon-trash"></i>
       </a>

我怎样才能使这种格式成为可重用的。使用 partials 还是使用 HtmlHelpers?有样品吗?

正如@Stephen 建议您可以同时使用两者,您可以使用以下代码

创建一个HTML Helpers
namespace System.Web.Mvc
{

public static class CustomHtmlHelpers
{

    public static MvcHtmlString BootStarpDeleteHelper(this HtmlHelper htmlHelper, string action)
    {
        StringBuilder sb = new StringBuilder();  
        sb.Append("<a href=" + action + " class='btn btn-danger btn-sm'>");
        sb.Append("<i class='glyphicon glyphicon-trash'></i>");
        sb.Append("</a>");
        return MvcHtmlString.Create(sb.ToString());  
    }

}

}

在主视图中,您可以像这样调用 html 助手

@Html.BootStarpDeleteHelper("#");

否则您也可以在共享文件夹中创建一个局部视图,并创建一个名为 _BootStarpDelete

的新局部视图

视图是这样的

@{
  Layout = null;
}
<a href="@Url.Action("Delete", new {id = item.Id})" class="btn btn-danger btn-sm">
   <i class="glyphicon glyphicon-trash"></i>
</a>

在主视图中你可以这样渲染

@Html.RenderPartial("_BootStarpDelete")

希望以上解释会有所帮助 you.If 你想要一个 html helper 用于 editdelete 你需要将 classes 作为 parameters.If 同样,如果你想使用 partial view 方式,那么你必须传递具有适当值的 model,例如 action and classes