【问题标题】:jQuery Core/Data or Custom Attributes(Data-Driven)jQuery 核心/数据或自定义属性(数据驱动)
【发布时间】:2010-11-22 08:23:12
【问题描述】:

here in storing information in a given html element.有人问过类似的问题

我仍然不喜欢 jQuery,但我正在寻找在页面上存储信息的最佳方式。我有一个Repeater,每个项目保存一个图像。这些图像是可点击的,并且可以触发给定的 jQuery 事件。我遇到的问题是,Repeater 绑定的对象包含一些我希望从页面访问的特定信息(例如“Subtext”、“LargerImage”等)。

jQuery 中的Core/Data 可以很好地完成这一点,但是我们仍然需要从C# 构建jQuery 语句,因为所有数据都存储在服务器上。澄清一下,这是从数据库中存储页面上的信息,这与通过 jQuery 提供的任意信息有点不同。

我没有将这个问题限制为“如何将自定义属性绑定到元素”,因为我确实遇到了从 C# 代码隐藏生成 JS 结构来存储信息的想法,但我避免使用任何代码生成代码场景(或尝试)。

来自 HTML5 的自定义属性(即“data-subtext”)也是一种可能性,因为我可以轻松地从 itemdatabound 事件中添加这些属性:

sampleImageElement.Attributes.Add("data-subtext", "And this what the image is about");

我对浏览器对这个特定属性的支持感到有些困惑,或者这是否是游戏早期的最佳实践。如果自定义属性是可行的方法,那么很容易进行更改。如果 jQuery 也能做到这一点,我很乐意指出这一点,至少就我自己的理解而言。

非常感谢任何想法。

【问题讨论】:

    标签: c# jquery data-binding html


    【解决方案1】:

    我回答这个问题只是为了保存 stackoverflow 的记录,因为这是我针对这种情况提出的解决方案。 AJAX 调用对于任何较大的数据集都是完全有保证的,否则我肯定会采用这种方法。

    我继续使用 HTML5 规范中的“data-”字段,由 jQuery meta-data plugin. 提供

    我在 Web.UI.AttributeCollection 类上编写了一个名为“AddMetaData”的简短扩展方法,它接受一个 IList 以及一个字符串“Key”以简化对给定页面元素的附件。

    我还没有将此标记为答案,因为可能会有一些社区对我自己的方向的反馈。

    【讨论】:

    • 感谢该插件的链接,它似乎很有用。我惊讶地发现它是 36KB。
    【解决方案2】:

    为了阐明在 ASP.NET 中发生的情况,一旦将页面提供给客户端,Repeater 在服务器上绑定的对象将被销毁,然后在每个页面回发时重新创建。

    听起来您想实现某种工具提示效果,即通过 AJAX 从服务器检索内容?有许多不同的工具提示选项可用

    可以用来做到这一点。然后,您可以设置 Web 服务或页面方法来从您的数据源中检索相关数据。

    当然,您可以在处理请求时将呈现在 HTML 中的内容发送给客户端,然后简单地隐藏此标记。然后编写您自己的插件,以您需要的形式显示标记。

    【讨论】:

    • 我想到了一个 AJAX 请求,但由于需要完全发挥功能所需的总数据量非常少,我选择在页面加载时一次性加载所有请求。我想这种行为可以被视为工具提示,更类似于预览窗口(即,突出显示一个选项和页面某处的一些附加信息更改)。我如何在页面上存储原始数据集是我有点不知所措的地方。
    • 你有多少个项目,每个项目有多少数据?用户是否可能希望看到页面上所有项目或一半项目的附加信息,还是只希望看到一个?
    • 每页最多 4 个项目和每个约 5 个自定义属性(字符串
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2013-03-30
    • 2017-12-16
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2013-04-19
    相关资源
    最近更新 更多