【问题标题】:Is it possible to declare data-attributes as constants是否可以将数据属性声明为常量
【发布时间】:2015-06-16 04:00:21
【问题描述】:

我定义了一个标签

<tr data-hideable-category="hideablerow_@(availableGame.DivisionId)">...</tr>

data-hideable-category 属性在标记中使用,后来在JavaScript 中使用,我想知道是否可以将data-hideable-category 定义为常量字符串以避免魔术字符串。

类似

<tr @Constants.HideableCategory="hideablerow_@(availableGame.DivisionId)">...</tr>

我会像这样使用它

$("[@Constants.HideableCategory]").on('click', ...)

【问题讨论】:

  • 为什么?如果你这样做,你不能把你的代码放在一个外部的 javascript 文件中
  • @charlietfl:好点,但目前没有external javascript-file。所以我想没有简单的方法来实现避免magic strings 并拆分js和cshtml?
  • 说实话不明白你的问题是什么
  • 我的问题是在 JS 和 CSHTML 中定义了我需要依赖的名称两次。如果我在一侧更改名称,代码将不再起作用。
  • 将配置对象传递给 js 变量。那么你不必将剃须刀代码与javascript混合

标签: c# jquery asp.net-mvc-4 razor custom-data-attribute


【解决方案1】:

如果我真的明白……

html:

<tr data-category='@Constants.HideableCategory="hideablerow_@(availableGame.DivisionId)'</tr>

js:

$("[data-category='somting value']").on('click', ...){};

其他选择器可以看到http://www.w3schools.com/jquery/jquery_ref_selectors.asp

【讨论】:

    猜你喜欢
    • 2011-04-17
    • 2021-12-19
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多