什么时候应该使用“隐藏文本框”什么时候应该使用(html 5)“数据属性”?

本文关键字:数据属性 什么时候 html 隐藏 文本 隐藏文本框 | 更新日期: 2023-09-27 17:50:07

我需要传递一些数据从我的控制器到我的视图。这些数据将被jQuery用来做一些事情。数据是一个短字符串。我可以把它放在一个隐藏的文本框中,并使用jQuery访问该文本框的值。我还可以在数据关注的html元素上放置一个data-attribute。我想知道什么是最好的方法。

命名一个我必须做出这个选择的特定情况:我有一个通用的部分视图,需要做一个ajax调用来更新视图上的一些数据。但是,ajax调用的目的地依赖于部分视图的上下文。因此,我传递了一个链接到部分视图的视图模型。我在哪里存储这些数据以便jQuery访问它?

我觉得data属性在某种程度上更好,因为我觉得隐藏输入字段的目的更多的是将信息与表单的其余部分一起发布。

对此有普遍的共识吗?

什么时候应该使用“隐藏文本框”什么时候应该使用(html 5)“数据属性”?

如果我计划通过表单将数据发送回服务器,我只会使用隐藏的表单输入。如果这不是要求,那么使用数据属性会简单得多。它不需要表单,您可以通过jQuery(或纯JavaScript)从相关元素的事件处理程序中更轻松地访问该值。

使用一个模型并将该模型传递给视图。这个模型将包含所有必要的数据。然后利用这些数据为一些DOM元素生成HTML5 data-*属性,您将不显眼地对其进行ajax处理。例子:

<div id="someDiv" data-remote-url="@Model.SomeModelPropertyContainingTheUrl"></div>

然后:

var url = $('#someDiv').data('remote-url');
...

如果你已经在页面上有一个表单,你将ajax化,你可以使用这个表单的action属性或一个隐藏字段,如果值是不同的