나는 미리로드에 프로그래밍 방식으로 설정 내 페이지의 데이터 소스에 체크 박스리스트를()이 이벤트 :CheckboxList에서 업데이트 (변경된 항목)를 얻는 방법?
당신이 항목을 선택하거나하지해야하는지 여부를 확인합니다 foreach 문에서 보는 바와 같이protected void Page_PreLoad()
{
if (!Page.IsPostBack)
{
CheckBoxList1.DataSource = NoK.AcceptedNoks((Guid)Membership.GetUser().ProviderUserKey);
CheckBoxList1.DataTextField = "FullName";
CheckBoxList1.DataValueField = "NoKId";
CheckBoxList1.DataBind();
}
foreach (ListItem chk in CheckBoxList1.Items)
{
if (PrivateMessage.HasAccess(Request.QueryString["MessageId"], chk.Value))
{
chk.Selected = true;
}
}
}
. 그리고 그것은 잘 작동합니다. 이는 최종 사용자가 목록 항목을 편집 할 수 있고 기본적으로 일부 항목이 검사되었음을 의미합니다. 지금은 버튼을 클릭하여 아이템을 얻으려면 :
protected void UpdateRightBtn_Click(object sender, EventArgs e)
{
var SelectedNokIds =
CheckBoxList1.Items
.OfType<ListItem>()
.Where(li =>
li.Selected == true)
.Select(l => new Guid(l.Value));
}
하지만 SelectedNokIds
의 항목은 여전히 오래된 항목이 아니므 SelectedNokIds
에서 사용자 변경 확인란 경우에는 효과 apeares. 왜 ???
도와주세요!
답장을 보내 주셔서 감사 합니다만 Unfotunatlly 데이터 소스를 다시 설정하는 곳은 어디에도 없습니다. 그냥 PerLoad(). – mahdiahmadirad