Вы вставляете ASP.NET в ваш HTML, и этот HTML, вероятно, не обрабатывается ASP.NET. Если вы хотите сделать это так, как вы делаете сейчас ... переключитесь на использование тегов input
, например ...
DataRow[] exemption = ds.Tables[2].Select();
foreach (DataRow dr in exemption)
{
string exemptionType = dr["ExemptionType"].ToString();
string exemptionID = dr["ExemptionID"].ToString();
string exemptionDesc = dr["ExemptionDescription"].ToString();
string displayLabel = dr["DisplayLabel"].ToString();
sb.Append("<table align='center' width='730px'>");
sb.Append("<tr><td><input type=\"checkbox\" id=\"chk" + exemptionID + "\" /></td>");
sb.Append("<td><strong>" + exemptionDesc + "</strong></td>");
sb.Append("</table>");
sb.Append("<table align='center' width='630px'>");
sb.Append("<tr><td>" + displayLabel + "</td></tr>");
sb.Append("</table>");
}
return sb.ToString();
Другой путь - создание флажков ASP.NET. Это бы выглядело примерно так ...
var checkbox = new CheckBox();
checkbox.ID = "chk" + exemptionId;
wrapper.Controls.Add(checkbox);
Где оболочкой является Panel
или что-то в этом роде.