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。可以这样做,如果没有,为什么?
答案 0 :(得分:0)
您可以制作自己的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 );
}
答案 1 :(得分:0)
在HTML中,&lt; input&gt;没有结束标记。元素。格式良好的输入元素没有子节点。