如果 SQLDatasource returns 0 行,将 display:none 更改为 display:block

If SQLDatasource returns 0 rows, change display:none to display:block

我有一个 table,内容是

0 orders found

当前设置在css

#OrderNoExist {
    display:none;
}

我希望 C# 将 css 样式更改为 table 以阻止。这是我目前拥有的,我想知道这有什么问题?它遍历了整个方法,但没有发生任何变化? OrderNoExist 是一个 ID。

    protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
    {
        if (e.AffectedRows < 1)
        {

            OrderNoExist.Attributes.CssStyle[HtmlTextWriterStyle.Display] = "block";
            OrderNoExist.Style["display"] = "block";

        }
    }

标记:

<table class="dxeTextBoxSys dxeTextBox_DevEx" id="OrderNoExist" style="color:Red;">
  <tbody><tr>
    <td class="dxic" style="width:100%;"><input class="dxeEditArea_DevEx dxeEditAreaSys" id="OrderNoExist_I" name="ctl00$ctl00$ASPxSplitter1$Content$ContentSplitter$MainContent$OrderNoExist" onfocus="aspxEGotFocus('OrderNoExist')" onblur="aspxELostFocus('OrderNoExist')" value="Order doesn't exist." type="text" style="color:Red;">
    </td>
</tr></tbody></table>

处理前的设计如果有帮助:

<dx:ASPxTextBox runat="server" Theme="Metropolis" ClientIDMode="Static" ID="OrderNoExist" Text="Order doesn't exist." Width="107px" ForeColor="red"></dx:ASPxTextBox>

尝试使用OrderNoExist.Style.Add("display","block");

问题是其他控件在回调面板之外。该按钮位于回调面板内,所以这就是 属性 为该按钮更改的原因。

我只是使用回调面板中的控件之一来显示错误,它工作正常。