MVC2 Html.RadioButton-是否可以使用HTML Helpers设置InnerHTML?

问题描述

| HTML中的完美普通单选按钮如下所示:
<input type=\"radio\" name=\"somename\" value=\"1\">First</input>
<input type=\"radio\" name=\"somename\" value=\"2\">Second</input>
<input type=\"radio\" name=\"somename\" value=\"3\">Third</input>
据我所知,无法在HTML帮助器中设置\“ InnerHTML \”(使用JavaScript术语)。就像是:
<%: Html.RadioButtonFor(m => m.somename,1,\"First\") %>
我见过的所有示例都为每个按钮创建了一个单独的标签,虽然可以使用,但实际上弄乱了HTML。可以这样做,如果不能,为什么?     

解决方法

您可以创建自己的html助手:
public static MvcHtmlString RadioButtonFor<TModel,TProperty>( this HtmlHelper<TModel> html,Expression<Func<TModel,TProperty>> expression,object value,string innerHtml )
{
    var memberExpression = (MemberExpression)expression.Body;
    var name = memberExpression.Member.Name;
    var radioButton = string.Format( \"<input type=\'radio\' name=\'{0}\' value=\'{1}\'>{2}</input>\",name,value,innerHtml );
    return MvcHtmlString.Create( radioButton );
}
    ,在HTML中,元素没有结束标记。格式正确的输入元素没有子元素。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...