隐藏/取消隐藏标签,文本框取决于asp.net中的db结果

时间:2011-08-01 11:56:45

标签: asp.net webforms

我需要根据db结果隐藏/取消隐藏标签和文本框,我尝试了类似这样的东西,但它不起作用,条件应该是如果该字段的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 个答案:

答案 0 :(得分:1)

要使您的aspx版本正常工作,您的控件应该是绑定到包含“Berth”属性的数据源的数据。正如我从后面的代码中看到的,您更喜欢使用c#来填充控件。在这种情况下,您可以执行以下操作:

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

我认为使用数据绑定是更好的解决方案。