繁体   English   中英

Onserverclick和onclick不起作用

[英]Onserverclick and onclick not work

从我在HTML列表(表)中的IM加载数据后面的代码中: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(后面的代码)

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>";

onserverclick ='btnCargarDatosCliente_Click'不会调用该事件。 我确实尝试过onclick但还是一样。

有人知道我做错了吗?

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

为了实现您想要的功能,我建议将Repeater控件与LinkBut​​ton控件一起使用。 网上有很多示例/教程。

我认为您可以使用LinkButtonHyperlink代替锚标记来解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM