将 class 动态分配给 div 标签

Dynamically assigning a class to a div tag

我有一个 div,当单击按钮时,我会在加载时换掉背景图像。但它首先加载 css 中指定的图像,然后加载我在事件中告诉它的图像。当页面返回 post 时,您可以看到图像的这种变化。试图减少 "flicker" 我决定在我的 CSS 中创建 5 个 classes 并将 class 动态分配给 divs class 标签.我为 5 个图像背景中的每一个制作了一个 class。但是它不会让我在 div 中放入内联代码。它不喜欢这条线 class="<%= strMenuButtonClass%>">

<%
  //see which menu button was clicked
  //--------------------------------------------------------------------
  int menuButtonId = Convert.ToInt32(Request.QueryString["buttonId"].ToString());
  string menuButtonClass = "divMasterCol1Button1";
  switch (menuButtonId){
  case 1:
      menuButtonClass = "divMasterCol1Button1";
      break;
  case 2:
      menuButtonClass = "divMasterCol1Button1";
      break;
  case 3:
      menuButtonClass = "divMasterCol1Button1";
      break;
  case 4:
      menuButtonClass = "divMasterCol1Button4";
      break;
  case 5:
      menuButtonClass = "divMasterCol1Button1";
      break;
  }
  //-----------------------------------------------------------------------
%>

这里是 div 标签...

<div id="divMasterCol1" class="<%= strMenuButtonClass%>">
        --content goes here--
</div>

两个问题。

首先,strMenuButtonClass不是正确的名字。应该是 menuButtonClass.

其次,menuButtonClass 需要是 C# 代码中的 public 属性 或字段才能让 .aspx 看到它。

public string menuButtonClass {get; set;}