[英]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控件与LinkButton控件一起使用。 网上有很多示例/教程。
我认为您可以使用LinkButton
或Hyperlink
代替锚标记来解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.