2016-08-11 89 views
-2

在這裏我有textbox.Similarly,我有表tblpstatus其中有兩個字段ID和Pstatus。
現在我想要做的是,如果Field Pstatus有文本V,那麼文本框必須是可見的,否則不是。
現在的問題是,即使字段Pstatus有文本V文本框不可見。
以下是我的:

表結構
ID | Pstatus如何使文本框可見和不可見從數據庫

1 | V


的Html

<asp:TextBox ID="TextBox1" runat="server" placeholder="test" ></asp:TextBox> 
<asp:Button ID="Button1" runat="server" Text="Button"/><br> 

代碼後面

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 

     DataTable dt = c.getpstatus(); 
     if (dt.Rows.Count > 0) 
     { 
      if (dt.Rows[0]["Pstatus"].ToString() == "V") 
      { 
       Button1.Visible = true; 
       TextBox1.Visible = true; 

      } 
      else 
      { 
       Button1.Visible = false; 
       TextBox1.Visible = false; 

      } 


     } 
    } 

方法中使用

public DataTable getpstatus() 
{ 
    SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["myconnection"].ConnectionString); 
    string sql = "select * from tblpstatus"; 
    SqlCommand cmd = new SqlCommand(sql, con); 
    SqlDataAdapter da = new SqlDataAdapter(cmd);  
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    return dt; 
} 
+0

也許在你的問題上多展開一點。 tblpstatus有多少條記錄?如果超過1行「select * from tblpstatus」會給你所有這些行,並且可能按照你不期望的順序排列,那麼第一條記錄可能會有Pstatus!= V。我會建議將order或where子句放在至少要測試並確保您獲得的記錄具有Pstats == V,例如select * from tblpstatus其中pstatus ='V' – Matt

回答

-1

試試這個吧,

if (dt.Rows[0]["Pstatus"].ToString().equals("V")) 
+0

@Matt通過使用「==」,您正在比較引用而不是值, –