无法写入asp.net中的脚本标记

时间:2012-06-22 16:45:58

标签: javascript asp.net nullpointerexception servercontrols

我有一个脚本,我只想在满足某个条件时加载,所以我想我应该这样做:

//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。为什么会发生这种情况,你知道另一种解决方案吗?

1 个答案:

答案 0 :(得分:3)

使用asp.net webforms和脚本runat="server"最终成为服务器执行的代码,请参阅有关此文档的MSDN

如果您只想要javascript,请尝试以下方法:

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

然后在你的代码中

scriptArea.Text = "Javascript code";