data(带有eval)作为jquery方法的参数

本文关键字:jquery 方法 参数 作为 带有 eval data | 更新日期: 2023-09-27 18:25:57

我使用"eval"从数据库中提取数据并将其放置在我的应用程序中(添加和删除联系人)。删除联系人时,会显示一个确认框,该框工作正常。

然而,我想要的是使用数据(来自eval)作为js函数的参数,这样我就可以在确认框中显示联系人的姓名。

下面是不起作用的代码。我能写些什么来让它发挥作用?

提前谢谢。

<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>' />
<asp:Button ID="EditLinkButton" runat="server" CommandName="Edit" Text="Edit" CausesValidation="False" />
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" CausesValidation="False" OnClientClick="return confirmOnDelete(<%# Eval("FirstName") %>, <%# Eval("LastName") %>);" />

来自js文件:

    confirmOnDelete: function (firstName, lastName) {
        if (confirm("Are you sure that you want to delete " + firstName + " " + lastName + " ?") == true) {
            alert("tog bort");
        }
        else {
            return false;
        }
    }

data(带有eval)作为jquery方法的参数

从jQuery级别处理它。

<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' /> 
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>' /> 
<asp:Button ID="EditLinkButton" runat="server" CommandName="Edit" Text="Edit" CausesValidation="False" /> 
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" CausesValidation="False" OnClientClick="return confirmOnDelete();" />

然后对于您的脚本

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function confirmOnDelete() {
        var firstName = $("[id*=FirstNameLabel]").text();
        var lastName = $("[id*=LastNameLabel]").text();
        var decision = confirm("Are you sure that you want to delete " + firstName + " " + lastName + " ?")
        return (decision)
    }
</script>  

如果这是嵌套过程的一部分,请告诉我,因为它不起作用(即两个标签在中继器或其他东西中)。然后我们需要稍微调整一下。

您可以使用jQuery捕获此按钮并动态创建消息

<script type="text/javascript">
    var updateButtons = $('#<%= theGridViewID.ClientID %> :button[value=Delete]');
    updateButtons.each(function () {
        var onclick = $(this).attr('onclick');
        $(this).attr('onclick', null).click(function () {
            // find the previus two divs and get the name of the user
            // then create the question    
            var doPostBack = confirm("Delete this user? This action cannot be undone...");
            if (doPostBack)
               return onclick();
            else
               return false
        });
    });
</script>