我使用表格呈现View。表中的每一行都是可以编辑的对象。所以,这张表的最后一列有一堆“编辑”按钮。当单击其中一个EDIT按钮时,JavaScript函数必须选取由当前行表示的对象的Id。最终,我想最终得到一个干净的HTML:不是“onclick”,“onmouseover”属性,也没有自定义的制作属性。下面我有两个例子,我不感到激动。任何好主意?将参数从服务器对象传递到JavaScript的最佳方法
实施例1:
View.aspx
<td>
<input type="button" value="EDIT" onclick="JSFunction(<%: ObjectId %>)" />
</td>
的JavaScript
function JSFunction(id)
{
//some code that does whatever with id
}
实施例2:
View.aspx
<td>
<input type="button" value="EDIT" customAttribute="<%: ObjectId %>" />
</td>
的JavaScript
$('input[type=button]').click(function() {
var id = this.attr('customAttribute');
//some code that does whatever with id
});
附:如果你能想出一个更好的问题标题,请分享:)
你想在哪里存储customAttribute数据?一旦我们知道它在哪里,我们可以计算出如何使用jQuery访问它。或者你想要将数据存储在服务器端,并通过AJAX获得它? – mrtsherman 2011-02-23 23:02:14
自定义属性可以认为是干净的html。他们甚至在HTML5规范http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data-with-the-data-attributes – Vadim 2011-02-23 23:02:40
@mrtsherman - 我想要它被渲染到HTML服务器端,然后在客户端,JavaScript可以获取该值。 – Dimskiy 2011-02-23 23:20:10