ASP.NET 1.1 - VB.NET HTML Markup无法从Code-Behind读取变量

时间:2014-08-12 19:00:15

标签: html vb.net variables asp.net-1.1

我正在尝试动态更改HTML标记中的值,具体取决于代码隐藏中的某些条件。

在Page_Load()的代码隐藏中,我有以下内容:

If Not myCheck = 1 Then
    mySuffix = "_gr"
    myColor = "#cccccc"
Else
    mySuffix = ""
    myColor = "#bdd1ec"
End If

这用于我的HTML标记,以更改页面在特定条件下的显示方式。

<table>
   ...
   <tr>
      <td style="background-color: <%=myColor%>" colSpan="6"><IMG height="5" src="/images/corner-inner-blue-topLeft<%=mySuffix%>.gif" width="5"></td>
      <td style="background-color: <%=myColor%>; text-align:right"><IMG height="5" src="/images/corner-inner-blue-topRight<%=mySuffix%>.gif" width="5"></td>
   </tr>
   ...
</table>

现在我的问题是这个。它适用于后缀,但不适用于颜色。 当我运行我的网站时,导航到页面,我做了一个检查元素,我明白了。

<table>
   ...
   <tr>
      <td style="background-color: <%=myColor%>" colspan="6"><img src="/images/myImg_gr.gif" height="5" width="5"></td>
      <td style="background-color: <%=myColor%>; text-align:right"><img src="/images/myImg_gr.gif" height="5" width="5"></td>
   </tr>
   ...
</table>

它正在从我的代码隐藏中读取<%=mySuffix%>变量,而不是<%=myColor%>。 我尝试调试只是为了确保它确实将某些东西传递给了变量而且确实如此。

有人可以帮我指出我做错了什么吗?或者还有其他更好的方法来实现这一目标吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

如果不使用表是一个选项,您可以考虑使用span或div元素,并为其赋予一个id,而不是使用<td>元素。然后,您可以在代码隐藏中引用span控件来设置样式属性。像这样:

ASPX:

<span id="spnSample" runat="server">Hello</span>

.VB:

If Not myCheck = 1 Then
        mySuffix = "_gr"
        spnSample.Style.Add("background-color", "#cccccc")
    Else
        mySuffix = ""
        spnSample.Style.Add("background-color", "#bdd1ec")
    End If