Asp.net 在运行时设置TD(取决于Label.text)

Asp.net 在运行时设置TD(取决于Label.text),asp.net,Asp.net,我有一些表格数据,当标签有一些特定的值时,我需要让它显示出来。 尝试通过设计TD来实现。 My C#设置Label1.text的值 你能想出别的办法吗?这是一个模糊错误 <% if (Label1.Text == "1") { %> <td style="background:#ffedad; border:#e3a345; color:#cd5c0a"><asp:Label ID="Label1" runat="server" />

我有一些表格数据,当标签有一些特定的值时,我需要让它显示出来。 尝试通过设计TD来实现。 My C#设置
Label1.text的值

你能想出别的办法吗?这是一个模糊错误

 <% if (Label1.Text == "1") { %>
            <td style="background:#ffedad; border:#e3a345; color:#cd5c0a"><asp:Label ID="Label1" runat="server" /></td>
 <% }  else {%>
      <td><asp:Label ID="Label1" runat="server" /></td>
 <% } %>

尽管如此,我还是在我的aspx页面的最后一行看到了错误,知道错误在哪里吗?

您可以调用代码隐藏方法,该方法将返回可由浏览器直接呈现的格式化HTML字符串。在这种代码隐藏方法中,您几乎可以做任何事情:访问任何类型的数据库或任何业务逻辑

可能返回封装内容的div元素(不带样式)。 通过在代码隐藏方法中使用if-else逻辑,可以返回具有不同ID或类的div。然后您可以编写不同的CSS样式来应用于不同的div

<% if (Label1.Text == "1") { %> 
        <td style="background:#ffedad; border:#e3a345; color:#cd5c0a">
        <%# generateOutput() %></td> 
<% }  else {%> 
  <td> <%# generateOutput() %> </td> 
<% } %>

在asp.net标记中不使用if-else,只需

<%# generateOutput() %>

返回代码隐藏的全部内容,并在CSS文件中编写样式

如果要显示的内容不太复杂,则第二种方法可行,否则您可能更喜欢第一种方法


但是,如果您直接从数据库访问数据,则可以使用ASP.NET数据控件(如GridView),在模板中设置样式,还可以使用查询字符串或表单值筛选数据。

您可以用一行代码尝试:

<td <%=Label1.Text != "1"?"":"style='background:#ffedad; border:#e3a345; color:#cd5c0a'"%>><asp:Label ID="Label1" runat="server" /></td>

在css类后面设置样式代码会更干净


希望这会有所帮助

谢谢,收到此错误。编译器错误消息:CS1026:)ExpectedCreat!按照你的建议做了一些更干净的事情,请检查编辑。如果可以,让我知道我的错误是什么。谢谢这样会更好。(顺便说一句:别忘了中的“=”
<td <%=Label1.Text != "1"?"":"style='background:#ffedad; border:#e3a345; color:#cd5c0a'"%>><asp:Label ID="Label1" runat="server" /></td>