gpt4 book ai didi

c# - Asp.net mvc3 中的自定义助手

转载 作者:行者123 更新时间:2023-11-30 12:34:20 25 4
gpt4 key购买 nike

我有一个 ASP.NET MVC3 应用程序。我想要一个自定义工具栏,我想在每个表单中显示它。这个自定义工具栏可以有一个或多个操作链接。因此,我需要开发一个自定义 Html 帮助程序,我可以像下面这样使用它;

@Html.CustomToolBar(items => {
items.Add("Action","Controller","Name","Text");
items.Add("Action1","Controller1","Name1","Text1");})

此自定义扩展将生成链接 html,我会将其显示在我的表单上。我有一个 ToolBarAction类,我想得到 List<ToolBarAction>来自 @Html.CustomToolBar .

  public class ToolbarAction
{
public string Name { get; set; }
public string Action { get; set; }
public string Controller { get; set; }
public string Text { get; set; }

}

您能告诉我如何实现这一目标吗?如果你能给我指点合适的资源,那就太好了......

非常感谢

问候..

最佳答案

类似这样的事情(我不知道 Name 属性是做什么用的,所以我将它添加为类):

public static class HelperExtensions
{
public static MvcHtmlString Menu(this HtmlHelper html, Action<IList<ToolbarAction>> addActions)
{
var menuActions = new List<ToolbarAction>();
addActions(menuActions);

var htmlOutput = new StringBuilder();

htmlOutput.AppendLine("<div id='menu'>");

foreach (var action in menuActions)
htmlOutput.AppendLine(html.ActionLink(action.Text, action.Action, action.Controller, new { @class = action.Name }).ToString());

htmlOutput.AppendLine("</div>");

return new MvcHtmlString(htmlOutput.ToString());
}
}

关于c# - Asp.net mvc3 中的自定义助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371652/

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