簡體   English   中英

在表單提交中重新啟用禁用的文本框的問題

[英]Issue with disabled textboxes being re-enabled on form submit

請原諒我,但是我仍然對整個編程工作還是陌生的,而且我一直無法為查詢找到更具體/直接的答案。

我有一個內置在asp.net C#中的表單,該表單從數據庫中提取數據。 如果存儲過程發現任何內容,它將運行並自動填充一系列文本框-用戶名,電子郵件,電話號碼等。然后將禁用填充字段,因此用戶無法更改所帶來的內容。 如果需要,將保留空白字段供用戶完成。

但是,當用戶提交表單時-如果表單未能通過驗證-則啟用了以前禁用的字段(帶有數據的字段),允許用戶根據需要覆蓋它們-但我需要防止這種情況的發生; 無論如何,要防止那些被我的原始數據禁用的字段在返回時重新啟用?

我正在禁用按鈕單擊事件中的字段。 這些字段在頁面加載時被禁用:

protected void Page_Load(object sender, EventArgs e)
    {

        Page.Title = title;
        Literal formHeader = (Literal)this.Master.FindControl("formHeader");
        formHeader.Text = "Travel Booking Request";




    if (!Page.IsPostBack) 
            { 
              Load_FormDetails();
              Load_SeatingPreference();
              Load_UserResponses();
              Load_UndergroundTravelZones();

            }
        }
protected void Load_FormDetails()
    {
            string userName = "";
            string userPhone = "";
            string userTitle = "";
            string userEmail = "";
            List<KeyValuePair<string, string>> userDetails = Class1.GetUserDetails();
            var name = userDetails.Where(kvp => kvp.Key == "UserDisplayName").Select(kvp => kvp.Value).First();
            userName = name.ToString();
            var phone = userDetails.Where(kvp => kvp.Key == "UserLandline").Select(kvp => kvp.Value).First();
            userPhone = phone.ToString();
            var jobtitle = userDetails.Where(kvp => kvp.Key == "UserJobTitle").Select(kvp => kvp.Value).First();
            userTitle = jobtitle.ToString();
            var email = userDetails.Where(kvp => kvp.Key == "UserEmail").Select(kvp => kvp.Value).First();
            userEmail = email.ToString();
            txtUserName.Text = userName;

            if (txtUserName.Text != "")
            {
                txtUserName.Enabled = "false";
            }
            txtUserPhoneNumber.Text = userPhone;
            if (txtUserPhoneNumber.Text != "")
            {
                txtUserPhoneNumber.Enabled = "false";
            }
            txtUserJobTitle.Text = userTitle;
            if (txtUserJobTitle.Text != "")
            {
                pfptxtUserJobTitle.Enabled = "false";
            }
            txtUserEmail.Text = userEmail;
            if (txtUserEmail.Text != "")
            {
                txtUserEmail.Enabled = "false";
            }
        }

在.aspx頁面的文本框定義中,添加Readonly = true或添加enabled = false。

它將永久禁用文本框

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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