ASP.NET CheckBox 상태 및 포스트 백
문제
Checkbox State Change에서 페이지 링크를 변경하는 간단한 작업이 있습니다. 그러나 ASP.NET을 처음 사용하고 문제가 있습니다.
htmlcontrol 및 javaScript를 사용하여 동일한 작업을 수행 할 수 있습니다.
<script type="text/javascript" language="javascript">
function checkbox_onChanged(checked) {
if (checked) {
document.location = '?type=request_in&show=all';
}
else {
document.location = '?type=request_in&show=unapproved';
}
}
function checkbox_onLoad(checkbox) {
checkbox.checked = true;
}
</script>
<form action="" method="get">
<input type="checkbox" name="checkbox"
onload="checkbox_onLoad(this)"
onchange="checkbox_onChanged(this.checked)" />Show all
</form>
하지만 사용자에게 숨기고 싶습니다. 그래서 나는한다 :
<asp:CheckBox runat="server" ID="check"
OnCheckedChanged="check_CheckedChanged"
AutoPostBack="True" Text="Show all" />
protected void check_CheckedChanged(object sender, EventArgs e)
{
Response.Redirect(String.Format("{0}?type=request_in&show={1}", Request.Path,
checkViewRequestIn.Checked ? "all" : "unapproved"));
}
protected void Page_Load(object sender, EventArgs e)
{
var show = Request["show"];
if (!String.IsNullOrEmpty(show) && String.Equals(show, "all"))
{
checkViewRequestIn.Checked = true;
}
}
그러나로드의 상태 변경 사항이 이벤트를 다시 일으키고 확인란이 항상 확인되는 것으로 보입니다!
ANS 또 다른 질문 - 파일 이름을주지 않고 같은 페이지로 리디렉션 할 수있는 다른 방법이 있습니까? 나는 JavaScript와 같은 것을 의미합니다. 필요한 변수 만 제공합니까?
해결책
ASP.NET Checkbox에서 클라이언트 측 'CheckBox_OnChanged'를 호출 할 수 있습니다. page_load에서 'onchange'를 추가하기 만하면됩니다.
protected void Page_Load(object sender, EventArgs e)
{
check.Attributes["onchange"] = "checkbox_onChanged(this.checked)";
}
소스를보고 HTML에서 무슨 일이 일어나고 있는지 볼 수 있습니다 ..
제휴하지 않습니다 StackOverflow