当从ASPX页面迁移到ASCX控件中时,我将大量的标头包含在CodeBehind中,我一直在将它们包裹在registerClientscriptBlocks中,并使用LINQ来保持大型多行列。
但是,已经注意到内联声明<%serverside.code%>
现在未被执行。
ClientScript.RegisterClientScriptBlock(GetType(Page), "test", <a><![CDATA[
<script type="text/javascript">
testValue = '<%=Page.Title%>';
</script>]]></a>, True)
产生;
<script type="text/javascript">
testValue = '<%=Page.Title%>';
</script>
要解决这个问题,我用。值结束了CDATA块,并附加了代码变量,然后在使用Multiline语句的其余部分
开始了一个新的CDATA块ClientScript.RegisterClientScriptBlock(GetType(Page), "test", <![CDATA[
<script type="text/javascript">
testValue = ']]>.Value + Page.Title + <![CDATA[';
//more code
</script>
]]>.Value, True)