【问题标题】:How can I know what id Razor Html helpers generate?我如何知道 Razor Html 助手生成的 id 是什么?
【发布时间】:2012-06-16 19:23:08
【问题描述】:

在 Razor 视图中,假设我有这样的东西:

@Html.HiddenFor(model => model.Värde)

这里,“Värde”是瑞典语中“价值”的意思。注意它包含“ä”。为此,Razor 将生成如下 HTML:

<input id="V_rde" name="Värde" type="hidden" />

请注意,元素的 id 是“V_rde”,而不是“Värde”。

那么,如何使用 getElementById 从 JavaScript 访问该元素? 我知道我可以使用“V_rde”,但我想要一些通用的东西,而不仅仅是“Värde”,像这样的东西(意思是 htmlAttributes 参数):

@Html.Whatever(..., new { onclick = "JavaScript:alert(document.getElementById('@Html.IdFor("Värde")'));" })

我希望@Html.IdFor(string name) 转换名称,就像在@Html 帮助器中为标签、复选框、编辑框等转换的id一样。

【问题讨论】:

    标签: razor html-helper id-generation


    【解决方案1】:

    同时@Html.IdFor(x=&gt;x.YourProperty) 进入MVC,我认为这是现在最简单的解决方案

    【讨论】:

      【解决方案2】:

      这行得通吗?

      @HtmlHelper.GenerateIdFromName("originalName")
      

      如果是这样,您可以轻松创建自己的 HtmlHelper 扩展,它采用 lambda 表达式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-28
        • 1970-01-01
        • 2013-07-12
        • 1970-01-01
        • 2023-04-08
        • 2011-05-25
        • 2019-10-25
        • 2023-04-02
        相关资源
        最近更新 更多