2012-09-26 2 views
0

Итак, я хочу установить свой cssclass с помощью функции codebehind, которая выглядит так, но она не работает, я получаю только строку ampty в своем конечном коде, что я делаю неправильно?Возвращаемое значение от кода позади до страницы aspx

Aspx:

<td align="left" class="<% GetCssForUser("start") %>"> 

CodeBehind:

 protected string GetCssForUser(string field) 
    { 
     string css = ""; 

     switch(field) 
     { 
      case "start": 
       css = "start"; 
       break; 
      case "end": 
       css = "end"; 
       break; 
      case "course": 
       css = "course"; 
       break; 
      case "group": 
       css = "group"; 
       break; 
      case "teacher": 
       css = "teacher"; 
       break; 
      case "room": 
       css = "room"; 
       break; 
      case "plan": 
       css = "plan"; 
       break; 
     } 

     if (User.ActiveRole == Teacher) 
     { 
      css += "Teacher"; 
     } 
     else 
     { 
      css += "Student"; 
     } 

     return css; 
    } 
+0

Вы поставили контрольную точку в инструкции switch, чтобы узнать, попадает ли она? – LukeHennerley

ответ

1

я думаю, что вы Мессинг синтаксис в этом коде

<td align="left" class="<% GetCssForUser("start") %>"> 

это использовать как этот

<td align="left" class="<%=GetCssForUser("start") %>"> 

я думаю, что это поможет вам

0

Попробуйте это: <td align="left" class="<%= GetCssForUser("start") %>">

0

Вы можете попробовать с этим кодом

youControl.Attributes.Add("class", css); 
1

Try:

class='<%=GetCssForUser("start") %>' 

Обратите внимание на %= и открытие '< и закрытие >' (из-за поздней версии "start")

Смежные вопросы