我正在尝试使用this
在我的页面上创建自定义html按钮public static class HtmlButtonExtension
{
public static MvcHtmlString Button(this HtmlHelper helper, string text,
IDictionary<string, object> htmlAttributes)
{
var builder = new TagBuilder("button");
builder.InnerHtml = text;
builder.MergeAttributes(htmlAttributes);
return MvcHtmlString.Create(builder.ToString());
}
}
当我点击此按钮时,我想将recordID传递给我的Action
以下是我添加到剃刀视图中的内容
@ Html.Button(“删除”,新{name =“CustomButton”,recordID =“1”})
但我无法显示此按钮,并且它正在抛出错误
'System.Web.Mvc.HtmlHelper<wmyWebRole.ViewModels.MyViewModel>' does not contain a definition for 'Button' and the best extension method overload 'JSONServiceRole.Utilities.HtmlButtonExtension.Button(System.Web.Mvc.HtmlHelper, string, System.Collections.Generic.IDictionary<string,object>)' has some invalid arguments
有人可以帮我识别实际错误
答案 0 :(得分:3)
您传递的是匿名对象,而不是IDictionary<string, object>
的{{1}}。
您可以使用htmlAttributes
添加额外的重载。这就是他们在内置的ASP.NET MVC Html Helpers中的表现:
object htmlAttributes