1

そのため、サーバーによって作成されたチェックボックスがいくつかあります。これらのいくつかはチェックされますが、他のものはチェックされません。

作成されたチェックボックスを(マウスで)チェックしたり、チェックを外したりできますが、チェックを付けて作成された場合、クリックしてチェックを外すことはできません。

テキストボックスを生成するコード:

System.Web.UI.WebControls.CheckBox chk = new System.Web.UI.WebControls.CheckBox();
chk.ID = colName; 
chk.AutoPostBack = false;
if (val != null && val != "")
{
    chk.Checked = true;
}
ChecklistPanel.Controls.Add(chk);

ただし、.aspx ファイルにコントロールを追加し、checked="true" を設定しても、それらは同じように動作するため、問題にはなりません。

それが役立つ場合は、c# がコントロールをレンダリングする方法を次に示します。

<div id="uniform-MainContent_EmpMain_dv_access_to" class="checker">
    <span class="checked">
        <input id="MainContent_EmpMain_dv_access_to" class="checked" 
            type="checkbox" checked="checked" name="ctl00$ctl00$MainContent$EmpMain$dv_access_to" style="opacity: 0;">
    </span>
</div>
4

3 に答える 3

0

唯一の理由は、チェックボックスのIDである可能性があると思います。
作成するすべてのchecboxの一意のIDが必要です。
同じIDを持つ複数のコントロールを持つことはできません。

于 2013-03-08T17:51:41.263 に答える
0

style="opacity: 0; を削除してから試してください。

于 2013-03-08T18:13:19.990 に答える
0

まあ、私が知らなかった隠しJavaScriptがあったと思いますが、それで修正されました。

于 2013-03-08T22:58:38.907 に答える