Visual Studio 2010에서 C#을 사용하고 있습니다. 나는이 같은 자바 스크립트를 만든체크 박스 유형 변환
<asp:TemplateField ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="Left" HeaderText="Beetald">
<HeaderTemplate>
<input type="checkbox" id="selectallTeachers" class="selectallTeachers" onclick="javasctipt:SelectheaderCheckboxesTeacher();" />
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" id="chkPaid" class="caseTeacher" name="caseTeacher" runat="server" />
</ItemTemplate>
</asp:TemplateField>
:
나는 문제가, 내 ASCX 페이지 중 하나에 나는이 같은 체크 박스 열을 만든
<script type="text/javascript">
// Select/Deselect checkboxes based on header checkbox
function SelectheaderCheckboxesTeacher() {
if ($("#selectallTeachers").val() == 'on') {
$('.caseTeacher').attr('checked', 'checked');
$("#selectallTeachers").val('off');
}
else if ($("#selectallTeachers").val() == 'off') {
$('.caseTeacher').removeAttr("checked");
$("#selectallTeachers").val('on');
}
$(".caseTeacher").click(function() {
if ($(".caseTeacher").length == $(".caseTeacher:checked").length) {
$("#selectallTeachers").attr("checked", "checked");
$("#selectallTeachers").val('off');
} else {
$("#selectallTeachers").removeAttr("checked");
$("#selectallTeachers").val('on');
}
});
}
// if all checkbox are selected, check the selectallTeachers checkbox
// and viceversa
</script>
buttonclick 이벤트의 I 이 작성 :
protected void btnDeleteSelectedMessages_Click(object sender, EventArgs e)
{
if (currentGridView == null)
setCurrentGridView();
//controleer voor elke rij welke checkbox is geselecteerd
foreach (GridViewRow row in currentGridView.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("chkPaid");
Guid messageID = (Guid)currentGridView.DataKeys[row.DataItemIndex].Value;
//als de checkbox is geselecteerd het bericht verwijderen
if (cb != null && cb.Checked)
{
if (currentGridView.ID.Equals("Messages"))
b.BussinesMessageReceiver.DeleteMessageReceiver(messageID, MessageBoxPerson);
else if (currentGridView.ID.Equals("MessagesSent"))
b.BussinesMessage.DeleteMessageSender(messageID);
else //MessagesDeleted
b.BussinesMessage.DeleteMessage(messageID, (Page.Server.MapPath("~/Upload/") + messageID));
continue;
}
}
btnDeleteSelectedMessages.Enabled = false;
selectLocation.Visible = false;
clearSelectedMessageSession();
//Update the GridView
BindGridView();
}
그것은 라인에 오류가 표시
CheckBox cb = (CheckBox)row.FindControl("chkPaid");
입력란에 직접 입력하지 않고 확인란을 만들었 기 때문에 입력했습니다.
왜 입력 대신 확인란을 사용할 수 없습니까? –
표시 할 오류 유형을 지정하는 것이 좋습니다. –
'row.FindControl ("chkBoxDelete");가 실제로 리턴하는 타입은 무엇입니까? – ChrisF