我正在使用.net mvc3
在视图中我需要这样做:
@Html.LabelFor(m => m.SearchForm.Exact, (text1 text2))
问题是 text1 应该是粗体,而 text2 不应该。
是否可以在帮助程序中执行类似 <strong>text1</strong> text2 的操作?
谢谢,
费尔南多
我正在使用.net mvc3
在视图中我需要这样做:
@Html.LabelFor(m => m.SearchForm.Exact, (text1 text2))
问题是 text1 应该是粗体,而 text2 不应该。
是否可以在帮助程序中执行类似 <strong>text1</strong> text2 的操作?
谢谢,
费尔南多
您可以根据需要创建新的扩展方法:
public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, string text1, string text2) {
ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
string htmlFieldName = ExpressionHelper.GetExpressionText(expression);
string labelText = metadata.DisplayName ?? metadata.PropertyName ?? htmlFieldName.Split('.').Last();
if (String.IsNullOrEmpty(labelText)) {
return MvcHtmlString.Empty;
}
TagBuilder tag = new TagBuilder("label");
tag.MergeAttributes(htmlAttributes);
tag.Attributes.Add("for", html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName));
// here you create your needs and add to the label
return MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal));
}