【发布时间】:2016-01-18 09:40:38
【问题描述】:
在标记我之前,或标记为重复之前,我已经查看并在此处找不到我的答案,尽管存在类似的问题 - 大多数与 asp.net 控件上的 javascript 调用有关。这不是那个。
我正在尝试根据来自绑定到转发器的数据源的值为转发器中的复选框提供一个 ID。
我对不是 asp.net 控件的元素没有任何问题,但是当像下面的示例那样向复选框提供它时,我得到了错误
创建控件时出错 - rptPayments
服务器标签格式不正确。
这就是我现在尝试命名它的方式
<asp:CheckBox runat="server" ID="cbValidated_<%# Eval("ContactId")%>" />
我已经看到有许多类似问题的问题,但通常它们是针对 javascript \ OnClientClick(..) 告诉人们使用单引号的函数。
如果我尝试单引号,我会收到一个新错误
控件的 ID 属性只能使用标签中的 ID 属性和一个简单的值来设置。示例
我需要它作为服务器端控件,以便我可以在单击按钮时循环遍历所有复选框以查看哪些记录已被验证,但需要将其与 contactId 链接
【问题讨论】:
-
服务器控件无法做到这一点。一旦你添加了
runat属性,控件就变成了一个服务器控件,你不能动态地改变它的ID。你为什么要首先这样做? -
我有一个包含大约 50 笔付款的数据集,在付款之前需要对其进行验证,并相应地更新数据库。选中复选框并按下批量更新按钮后,后面的代码将通过每个复选框查找付款 ID,然后相应地更新记录。如果通过命名 id 无法以这种方式实现,我不妨放弃转发器,然后在页面加载时一直构建它。
-
No Wait wait :) 无法通过这种方式更改 ID,但您显然可以检查它们是否被选中,然后继续。不要丢弃控件本身。
-
那我应该怎么做才最好呢?因为我不想通过
request.form(...)查看