如何解决寻找此HtmlHelper <TModel> htmlHelper的HtmlExtensions
|| 我已经尝试向我的mvc项目中添加一些htmlextensions。当我尝试使用它们时,他们都期待这个HtmlHelper htmlHelper参数?但是根据所有示例,这些都不是预期的..我在做什么错? 公共静态字符串RadioButtonListFor(this HtmlHelper htmlHelper,Expression> expression,String tagBase)其中TModel:class { 返回htmlHelper.RadioButtonListFor(expression,tagBase,null); } public static string RadioButtonListFor<TModel>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel,RadioButtonListviewmodel>> expression,String tagBase,object htmlAttributes) where TModel : class
{
return htmlHelper.RadioButtonListFor(expression,tagBase,new RouteValueDictionary(htmlAttributes));
}
public static string RadioButtonListFor<TModel>(this HtmlHelper<TModel> htmlHelper,IDictionary<string,object> htmlAttributes) where TModel : class
{
var inputName = tagBase;
RadioButtonListviewmodel radioButtonList = GetValue(htmlHelper,expression);
if (radioButtonList == null)
return String.Empty;
if (radioButtonList.ListItems == null)
return String.Empty;
var containerTag = new TagBuilder(\"td\");
containerTag.MergeAttribute(\"id\",inputName + \"_Container\");
foreach (var item in radioButtonList.ListItems)
{
var radioButtonTag = RadioButton(htmlHelper,inputName,new SelectListItem { Text = item.Text,Selected = item.Selected,Value = item.Value.ToString() },htmlAttributes);
containerTag.InnerHtml += radioButtonTag;
}
return containerTag.ToString();
}
解决方法
您正在为HtmlHelper类编写扩展方法。每当您要使用扩展方法时,都必须导入扩展方法所在的名称空间。
假设
RadioButtonListFor
在MyNamespace
中
namespace MyNamespace
{
public static class HtmlExtensions
{
public static string RadioButtonListFor<TModel>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel,RadioButtonListViewModel>> expression,String tagBase,object htmlAttributes) where TModel : class
{
return htmlHelper.RadioButtonListFor(expression,tagBase,new RouteValueDictionary(htmlAttributes));
}
}
}
现在,在您看来,您必须导入ѭ2才能使用此扩展方法。
您可以通过在页面顶部这样指定来在Razor中导入名称空间。
@using MyNamespace
, 我写了一篇文章,内容涉及为HtmlHelper.DropDownList帮助器创建扩展方法。检查一下...可能有帮助。我将介绍DropDownList
和DropDownListFor
方法,并继续在Razor视图文件和ѭ8including中包括对扩展方法类的名称空间的引用。
从ASP.NET MVC 3应用程序的视图模型中的数据填充html选择列表
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。