我需要根据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(); }}
答案 0 :(得分:1)
要使您的aspx版本正常工作,您的控件应该是绑定到包含“Berth”属性的数据源的数据。正如我从后面的代码中看到的,您更喜欢使用c#来填充控件。在这种情况下,您可以执行以下操作:
DOB.Visible = dtr["Berth"] == DBNull.Value;
我认为使用数据绑定是更好的解决方案。