Onserverclick和onclick不起作用

本文关键字:不起作用 onclick Onserverclick | 更新日期: 2023-09-27 18:25:26

根据我的代码在html列表(表)中加载数据:ASP

<table id="tblClientes" class="display" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>Nombre</th>
            <th>Razón Social</th>
            <th>Teléfono</th>
            <th>Email</th>
            <th></th>
            <th></th>
        </tr>
    </thead>
    <tbody>
        <asp:Literal runat="server" ID="tableData"></asp:Literal>
    </tbody>

和。CS(Code Behind)

tableData.Text += "<tr>";
                tableData.Text += "<td>" + cliente.Nombre + "</td>";
                tableData.Text += "<td>" + cliente.RazonSocial + "</td>";
                tableData.Text += "<td>" + cliente.Telefono + "</td>";
                tableData.Text += "<td>" + cliente.Email + "</td>";
                tableData.Text += "<td><a href='#' runat='server' onserverclick='btnCargarDatosCliente_Click' data-toggle='modal' data-target='#ventanaEmergente' id='btnCargarDatosCliente_" + cliente.Id.ToString() + "'>Editar</a></td>";
                tableData.Text += "<td><input type='button' data-toggle='modal' data-target='#ventanaAdvertencia' id='btnEliminarCliente_" + cliente.Id.ToString() + " value='Borrar' runat='server'/>Elimiar</td>";
                tableData.Text += "</tr>";

onservrclick='tnCargarDatosClient_Click'未调用该事件。我确实试过用onclick,但还是一样。

有人知道我做错了吗?

Onserverclick和onclick不起作用

它不是这样工作的。如果您在runat="server"的aspx表单上放置控件,则在服务器上处理该控件,并使用适当的javascript函数(如果您指定了类似OnClick的事件)将输出html返回到客户端,从而将表单发布回。如果你像你一样生成字符串并将其分配给文字,它就会"原样"呈现,因为服务器端处理已经发生,所以runat="server"在那里没有意义——它只是一个字符串。

为了实现你想要的,我建议使用中继器控件和LinkButton控件。网上有很多关于如何做到这一点的例子/教程。

我认为可以使用LinkButtonHyperlink而不是锚标记来解决您的问题。