ですから、基本的にはしばらくの間、壁に頭をぶつけてきました。ここにあまりにも多くのコードを投げたらすみません、それを説明するためのより良い方法がわかりません。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*/}
}
助言がありますか?