Asp.net mvc 将html传递给函数asp.net mvc
我有Html助手方法,创建一个复选框和一些文本,我通过Asp.net mvc 将html传递给函数asp.net mvc,asp.net-mvc,c#-4.0,html-helper,Asp.net Mvc,C# 4.0,Html Helper,我有Html助手方法,创建一个复选框和一些文本,我通过 @Html.CheckBoxFor(x => x.SomeProperty,@<text> <ul> <li> </li> </ul> </text>})) public static MvcHtmlString CheckBoxFor<TModel, TProperty>(this HtmlHelper<TModel&g
@Html.CheckBoxFor(x => x.SomeProperty,@<text> <ul> <li> </li> </ul> </text>}))
public static MvcHtmlString CheckBoxFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, bool>> expression, ?? )
{
var chkBox = helper.CheckBoxFor(expression).ToString();
return MvcHtmlString.Create(string.Format("<li>{0}</li><div>{1}</div>", chkBox, ??);
}
@Html.CheckBoxFor(x=>x.SomeProperty,@
}))
公共静态MvcHtmlString复选框(此HtmlHelper,表达式,?)
{
var chkBox=helper.CheckBoxFor(表达式).ToString();
返回MvcHtmlString.Create(string.Format(“{0} {1}”,chkBox,?);
}
那么我的方法的签名是什么呢?一些lambda/表达式之类的
我们将不胜感激
问候
Parminder只是
string
。它将进入string.Format
,这给了您一个提示。我建议您查看。因此,在您的情况下,助手可能会查看以下内容:
public static MvcHtmlString CheckBoxFor<TModel>(
this HtmlHelper<TModel> helper,
Expression<Func<TModel, bool>> expression,
Func<object, HelperResult> template)
{
var chkBox = helper.CheckBoxFor(expression).ToHtmlString();
return MvcHtmlString.Create(
string.Format("<li>{0}</li><div>{1}</div>", chkBox, template(null))
);
}
publicstaticmvchtmlstring CheckBoxFor(
这个HtmlHelper助手,
表情表情,
Func(模板)
{
var chkBox=helper.CheckBoxFor(表达式).ToHtmlString();
返回MvcHtmlString.Create(
string.Format(“{0} {1}”,chkBox,模板(null))
);
}
并且认为:
@model MyViewModel
@using (Html.BeginForm())
{
@Html.CheckBoxFor(
x => x.SomeProperty,
@<text><ul><li></li></ul></text>
)
<input type="submit" value="OK" />
}
@model MyViewModel
@使用(Html.BeginForm())
{
@Html.CheckBoxFor(
x=>x.SomeProperty,
@
)
}
将其定义为一个对象,运行它,然后查看运行时为您提供的类型。