2012-10-13 20 views
0

我正在创建一个WebForm,其中提供了启用和禁用文本框的功能。但是,当我在TextBox中输入值并禁用它时。我无法将TextBox值保存在数据库中。每当代码尝试保存该值时,都会在其中获取一个空值,因此它会存储一个空值。当我不禁用TextBox时,那么该值将被成功存储在表中。下面是关于它的一些代码...如何从使用C#的WebForm中禁用的文本框中获取值

protected void btnCreateSubAcct_Click(object sender, EventArgs e) 
    { 
     int subAccountID = 0; 
     try 
     {     
       if (Page.IsValid) 
       { 
        subAccountID = SaveUpdateSubAccount(); 

        if (string.IsNullOrEmpty(HiddenFieldSubAccntID.Value)) 
        { 
         SessionHandler.Set(SessionHandler.SubAccountIDKey, subAccountID); 
         Response.Redirect("~/newaccountwelcome"); 
        } 
        else 
        { 
         lblDialogMessage.Text = "Subaccount updated successfully!"; 
         modalPage.Visible = true; 
         SetFocus(btnOK.ClientID); 
        } 
       } 

     } 
     catch (ThreadAbortException) 
     { 

     } 
     catch (Exception ex) 
     { 
      _log.Error("Error Occured While Creation of SubAccount.", ex); 
      throw; 
     } 
    } 

private int SaveUpdateSubAccount() 
{ 
SubAccount objSubAccount = null; 

     if (!string.IsNullOrEmpty(HiddenFieldSubAccntID.Value) &&   !HiddenFieldSubAccntID.Value.Equals("0")) 
     { 
      objSubAccount = SubAccount.GetSubAccount(Convert.ToInt32(HiddenFieldSubAccntID.Value)); 
     } 

     if (objSubAccount == null) 
     { 
      objSubAccount = new SubAccount(); 
      objSubAccount.CreatedByUser = SessionHandler.CurrentUser.UserID; 
     } 
     objSubAccount.FBO1FirstName = txtFBO1FirstName.Text.Trim(); 
     objSubAccount.FBO1MiddleInitial = txtFBO1MiddleName.Text.Trim(); 
     objSubAccount.FBO1LastName = txtFBO1LastName.Text.Trim(); 
     objSubAccount.FBO1AccountTitling = txtFbo1AccountTitling.Text.Trim(); 
     objSubAccount.FBO1TaxIDType = fbo1RadioButtonList.SelectedItem.Value; 
     objSubAccount.FBO1TaxID = Helpers.GetUnFormattedTIN(txtFbo1TaxId.Text.Trim()); 
} 

//under the class SubAccount, the information is getting stored in the database 

每当我试图保存文本FBO1TaxID的价值,当它处于禁用状态,这个文本框下的值是空的。

如何将TextBox的值保存在数据库表中的禁用模式下?请帮忙!

回答

0

你可以做的是:添加一个隐藏字段,当禁用该文本框时,将其值设置为隐藏字段。那么当你需要文本框的值时,首先检查它是否为NullOrEmpty。如果不是,则为文本框的值。否则,请使用隐藏字段的值。

+0

但是,如何从数据库表中获取禁用文本框中的值? – Yash

+0

我想你可以先启用它,设置值/文本,然后禁用它。它应该设置文本。但我不确定。 – urlreader

1

问题是,ASP不会在视图状态下存储禁用元素的值。您应该有更好的机会将文本框设置为只读。

相关问题