簡體   English   中英

在事件ASP.NET VB上重定向時,Button.Enabled和checkbox.Checked狀態被刪除

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM