2012-06-22 3 views
0

У меня есть сценарий, который я хочу только, чтобы загрузить, если определенное условие было выполнено, поэтому я полагал, что я должен сделать это:Невозможно записать тег сценария в asp.net

//Head tag 
<script type="text/javascript" id="scriptArea" runat="server"></script> 
//Rest of the page 

.cs (Page_Load событие)

if(someCondition) 
{ 
    scriptArea.InnerHtml = "Javascript code"; 
} 

проблема в том, я получаю исключения нулевого указателя и когда он останавливается, я обнаружил, что scriptArea является null по какой-то причине. Почему это происходит и вы знаете о другом решении?

ответ

3

Использование web-форм и скриптов asp.net runat="server" заканчивается выполнением кода сервера, см. MSDN о документации по этому вопросу.

Если вы хотите JavaScript, попробуйте вместо этого:

<script type="text/javascript"> 
    <asp:literal id="scriptArea" runat="server" /> 
</script> 

Затем в коде позади

scriptArea.Text = "Javascript code"; 
Смежные вопросы