【发布时间】:2021-09-28 07:15:35
【问题描述】:
我有一个 asp.net 网络表单 Default.aspx。
在 javascript 中我已经构建了这个函数:
function removeAndAddPermisionsRows(table, accesses) {
deleteRows(table);
var accessesLen = accesses.length;
var row = '<tr>';
for (var i = 0; i < accessesLen; i++) {
if (i != 0 && i % 2 == 0) {
row = row + '</tr><tr>';
}
row = row +
' <td class="leftMarginSectionItem">' +
' <asp:Image ID="PermisionImgSectionItem" runat="server" Width="32px" Height="32px" ImageUrl="~/Images/checkmark32.png" />' +
' </td>' +
' <td>' +
' <div>' +
' <h3 id="PermisionSectionItem"><asp:Label runat="server" ID="lblPermission" Text=""></asp:Label></h3>' +
' <asp:Label runat="server" ID="lblPermissionId" Text=""></asp:Label>' +
' </div>' +
' <p id="permisionRect" class="roundedCornersRectangleSectionItemsBackground" />' +
' </td>';
}
if (accessesLen % 2 == 0) {
row = row + '</tr>';
}
else {
row = row + '<td></td><td></td></tr>';
}
table.find('tbody').append(row);
}
好了,这里没问题,这段代码编译好了。
但是我需要将循环中的“i”变量连接到一些字符串,所以如果例如我在循环中执行以下操作,例如我希望 ID PermisionImgSelectionItem 为 PermisionImgSelectionItem0、PermisionImgSelectionItem1 等等,对于其余的 ID:
row = row +
' <td class="leftMarginSectionItem">' +
' <asp:Image ID="PermisionImgSectionItem'+ i +'" runat="server" Width="32px" Height="32px" ImageUrl="~/Images/checkmark32.png" />' +
' </td>' +
' <td>' +
' <div>' +
' <h3 id="PermisionSectionItem"><asp:Label runat="server" ID="lblPermission" Text=""></asp:Label></h3>' +
' <asp:Label runat="server" ID="lblPermissionId" Text=""></asp:Label>' +
' </div>' +
' <p id="permisionRect" class="roundedCornersRectangleSectionItemsBackground" />' +
' </td>';
当我将 i 变量连接到我的代码无法编译的字符串时,vs2019 说自动生成的 Default.aspx.designer.cs 中存在错误,我不知道,但它也连接了变量“i”一些控件的名称。
发生了什么?
【问题讨论】:
标签: javascript asp.net webforms