所以我现在基本上一直在碰壁。对不起,如果我在这里抛出太多代码,不知道更好的方法来解释它。我有一个带有 ItemTemplate 的中继器:
<ItemTemplate>
<div id='FileFrame<%#Eval("Id")%>' class="view">
<userControl:ConfigFiles ID=<%#Eval("Id")%> runat="server" />
</div>
</ItemTemplate>
一些为 div 设置对话框的 jQuery。
$(document).ready(function() {
$(".view").dialog({
autoOpen: false,
title: "Configuration Files",
buttons: {},
height: 600,
width: 800,
open: function (type, data) { $(this).parent().appendTo("form"); }
});
});
还有一些打开对话框的 jQuery。
$("#FileFrame"+ConfigId).dialog('open');
现在,用户控件在其他中继器内有一堆复选框以及“下载选中框”按钮。问题是,当我进行调试并单击按钮时,除非我最初在 aspx 页面上设置 Checked="true",否则所有复选框都不会被读取为已选中。
这是背后的代码片段,它没有做我认为应该做的事情。
foreach (RepeaterItem item in FilesRepeater.Items)
{
CheckBox box = item.FindControl("DownloadFileCheckBox") as CheckBox;
if (box.Checked) //<-- always false unless I set it to true in aspx,
// then it's always true
{/*do work here*/}
}
有什么建议么?