1

我在 asp.net 中继器中有以下输入

 <div class="detailsItem">
    <input type="button" class="saveCommand" value="Save"/>
 </div>

然后在我的 document.ready 中绑定一个点击功能

   <script type="text/javascript">

    $(document).ready(function () {

        $('.saveCommand').live('click', function () {
            var cur = $(this);
            saveItem(cur.closest('div.detailsItem'));
        });

    });

当我绑定我的中继器时,我希望能够在调用该click函数时包含一个 ID。类似于:

<input type="button" onclikc="save(this,<%#((CustomViewItem)Container.DataItem).Id%>" value="Save"/>

关于如何结合两种装订方式的任何想法?

4

4 回答 4

3

我建议您使用data属性

<!--
    <div class="detailsItem" data-id="<%#((CustomViewItem)Container.DataItem).Id%>">
-->
<div class="detailsItem" data-id="YourIdHere">
    <input type="button" class="saveCommand" value="Save"/>
</div>

<script type="text/javascript">
    $(document).ready(function () {
        $('.saveCommand').on('click', function () {
            var cur = $(this);
            var detailsItem = cur.closest('div.detailsItem');
            alert(detailsItem.data("id"));
            saveItem(detailsItem);
        });
    });
</script>

data()有关jQuery中方法的更多信息:http: //docs.jquery.com/Data

于 2012-07-08T20:38:51.433 回答
2

您可以使用新data-*属性

<input type="button" data-id="<%#((CustomViewItem)Container.DataItem).Id%>" value="Save"/>

在事件处理程序中,您可以使用

cur.data("id")
于 2012-07-08T20:37:13.993 回答
0

您可以将 ID 传递给中继器项目模板中的保存功能。

<itemTemplate>
    <input type='button' onclick='save(<%# Eval("Id")); %>' value='Save' />
</itemTemplate>
于 2012-07-08T20:39:39.107 回答
0

试试这个

<ItemTemplate>
<div class="detailsItem">
<input type="button" class="saveCommand" onclick='save(<%# Eval("Id") %>);' value="Save"/>
</div>
</ItemTemplate>
于 2012-07-08T20:51:09.153 回答