2

我正在使用.net mvc3

在视图中我需要这样做:

@Html.LabelFor(m => m.SearchForm.Exact, (text1 text2))

问题是 text1 应该是粗体,而 text2 不应该。

是否可以在帮助程序中执行类似 <strong>text1</strong> text2 的操作?

谢谢,

费尔南多

4

1 回答 1

0

您可以根据需要创建新的扩展方法:

    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));
    }
于 2013-10-30T22:54:48.820 回答