[英]Button.Enabled and checkbox.Checked status erased when redirecting on event ASP.NET VB
在我的注冊頁面中,協議條款旁邊有一個復選框( chkAgree
)。 在chkAgree.Checked = True
之前,將禁用register( btnRegister
)按鈕。 由於注冊部分位於頁面底部,因此我想在活動期間將用戶重定向到錨標記。 如果沒有問題的兩個對象之一失去狀態,我似乎無法實現這一目標。 我嘗試為每個對象創建一個Session
,然后在頁面加載事件中調用它們,但是沒有運氣。 我顯然做錯了,但是有人可以指出正確的方向嗎? btnRegister
的默認狀態設置為Enabled=False
。 這是我正在使用的兩種方法
CheckedChanged:
Protected Sub chkAgree_CheckedChanged(sender As Object, e As EventArgs) Handles chkAgree.CheckedChanged
Session("Agree") = chkAgree.Checked
Response.Redirect("~/ExteriorStudentTestimonials.aspx#register", False)
End Sub
和Page_Load:
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Session("Agree") = True Then
btnRegister.Enabled = True
chkAgree.Checked = True
Else
btnRegister.Enabled = False
chkAgree.Checked = False
End If
End Sub
我嘗試了If
語句的幾種不同組合,但是If
不取出Response.Redirect("~/ExteriorStudentTestimonials.aspx#register", False)
無法弄清楚。
這可能與您正在重新加載頁面有關。 您可能想看看以下問題,以獲取有關如何在沒有完全重定向的情況下跳轉到錨點的一些想法:以編程方式滾動到“錨點標簽”
另一方面,當用戶單擊復選框時跳轉到錨點聽起來並不像是一種很好的用戶體驗。 您可以考慮縮短表格。
使用此方法類似於您提供的鏈接中所述的方法
Page.ClientScript.RegisterStartupScript(Page.GetType(),
"navigate",
"document.getElementById('register').scrollIntoView();",
True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.