2011-08-01 19 views
0

データベースの結果に応じてラベルとテキストボックスを非表示/非表示にする必要がありますが、これを試しましたが動作しませんでした。背後ラベルを非表示、asp.netのdb結果に応じてテキストボックス

<asp:Label ID="lblBirth" Text="DOB:" runat="server" ViewStateMode="Disabled" CssClass="lbl" /> 
          <asp:Label ID="DOB" runat="server" CssClass="lblResult" Visible='<%# Eval("Berth") == DBNull.Value %>'></asp:Label> 

コード:

protected void showDetails(int makeID) 
{// get all the details of the selected caravan and populate the empty fields 

    DataTable dt = new DataTable(); 
    DataTableReader dtr = caravans.GetCaravanDetailsByMakeID(makeID); 
    while (dtr.Read()) 
    { 

     //spec 
     string value = dtr["Price"].ToString(); 
     lblModel.Text = dtr["model"].ToString(); 
     birthResult.Text = dtr["Berth"].ToString(); }} 

答えて

1

をあなたのASPXを作成するには、DBフィールドそのフィールドの空で、そのフィールドに関連付けられたラベルを非表示にする必要があり(見えない)、次は私が試したコードですバージョン作業あなたのコントロールは、 "Berth" propeを含むデータソースにバインドされたデータである必要がありますrty。コードの背後から見ることができるように、コントロールを作成するためにc#を使用することをお勧めします。この場合、次の操作を行うだけです:

DOB.Visible = dtr["Berth"] == DBNull.Value; 

私はデータバインディングを使用する方がより望ましい解決策だと思います。

+0

DOBを表示するラベルも非表示にしたいのですが、どうすれば結果に応じて非表示にできますか? –

+0

'lblBirth.Visible = dtr [" Berth "]!= DBNull.Value;' –

関連する問題