服务器标记格式不正确-使用JQuery创建带有服务器控件的表

Server tag not well formed - Create table with server control using JQuery

本文关键字:创建 服务器控件 JQuery 使用 格式 不正确 服务器      更新时间:2023-09-26

我正在尝试创建一个具有一些动态数据和一些服务器控件的table。我需要服务器控件,以便在代码隐藏中访问它们。我正在JQuery中创建table。我的代码如下。

function createLeaveDetails(formattedArray) {
                    var leaveTable = "<table class='table table-striped table-hover table-bordered' style='width: 435px'>";
                    leaveTable += "<tr> <th>Date</th> <th>Full Day</th> <th>Half Day</th> </tr>";
                    for (i = 0; i < formattedArray.length; i++) {
                        leaveTable += "<tr> <td>" + formattedArray[i] + "</td> <td><asp:RadioButton ID='radHalf" + i + " runat='server' GroupName='grp" + i + "' /></td>";
                        leaveTable += "<td><asp:RadioButton ID='radFull" + i + " runat='server' GroupName='grp" + i + "' /></td> </tr>";
                    }
                    leaveTable = +"</table>"
                    $("#tblLeaveDetails").append();
                }

但在运行时,其在线上给出The server tag is not well formed.错误

leaveTable += "<tr> <td>" + formattedArray[i] + "</td> <td><asp:RadioButton ID='radHalf" + i + " runat='server' GroupName='grp" + i + "' /></td>";

首先,您不能从客户端创建"服务器"控件(即JavaScript/Jquery)。因为浏览器不理解服务器标记。Asp-View引擎相应地将该服务器控件呈现给HTML控件。因此,您所能做的就是从客户端脚本中创建基本的HTML元素。创建

<input type='radio'></input>

而不是

<asp:RadioButton />

当您需要服务器上的值时,您可以创建一个隐藏字段,并将输入单选的选定值放在JavaScript/Jquery的隐藏字段中。如下

$('#yourRadiobuttonlist').change(function(){
    yourHiddenField.value = $('#yourRadiobuttonlist :selected').val();
});

在服务器端,您可以访问单选按钮所需选定值的"隐藏字段"值。

希望有帮助。。。。