提取值以在标签元素上使用?

发布于 2024-10-16 09:54:00 字数 457 浏览 3 评论 0原文

嗨,

标签有一个指向编辑器的 for 属性,例如:

<label for="ModelViewAd_Title">Titel</label>

我正在构建一个用于生成标签的自定义帮助器,该方法头如下所示:

public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> self, Expression<Func<TModel, TValue>> expression, Boolean showToolTip)

提取此值的最简单方法是什么?或者我必须手动构建 for value 吗?

致以诚挚的问候

Hi,

Label has a for attribute that pointe to the editor for example :

<label for="ModelViewAd_Title">Titel</label>

I am building a custom helper for generating the label and this methodhead look like this :

public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> self, Expression<Func<TModel, TValue>> expression, Boolean showToolTip)

What is the easiest way to extract this for value? Or do I have to manually build the for value?

BestRegards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

反目相谮 2024-10-23 09:54:00

像这样:

public static MvcHtmlString LabelFor<TModel, TValue>(
    this HtmlHelper<TModel> self, 
    Expression<Func<TModel, TValue>> expression, 
    Boolean showToolTip
)
{
    var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
    var id = self.ViewData.TemplateInfo.GetFullHtmlFieldId(metadata.PropertyName);
    // do something with the id
    ...
}

Like this:

public static MvcHtmlString LabelFor<TModel, TValue>(
    this HtmlHelper<TModel> self, 
    Expression<Func<TModel, TValue>> expression, 
    Boolean showToolTip
)
{
    var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
    var id = self.ViewData.TemplateInfo.GetFullHtmlFieldId(metadata.PropertyName);
    // do something with the id
    ...
}
无法言说的痛 2024-10-23 09:54:00

本文解决了我的问题:

http://weblogs.asp.net/imranbaloch/archive/2010/07/03/asp-net-mvc-labelfor-helper-with-htmlattributes.aspx

详细信息:

string htmlFieldName = ExpressionHelper.GetExpressionText(expression);
html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName)

This article solved my problem :

http://weblogs.asp.net/imranbaloch/archive/2010/07/03/asp-net-mvc-labelfor-helper-with-htmlattributes.aspx

In detail :

string htmlFieldName = ExpressionHelper.GetExpressionText(expression);
html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文