将aspx eval移动到代码后面

时间:2011-04-07 04:23:08

标签: c# asp.net

在我的aspx文件中,我有一些代码如下:

<script type="text/javascript">
  var MyVar = '<% =MyFunction() %>';
</script>

所有这一切都运行正常:MyVar实际上拥有一个json字符串,以后会在客户端上进行评估。问题是这个代码是针对一次性情况设计的,并且它变得不仅仅是一次性的情况而且看起来很混乱。

我想把它移到我的代码后面。我怎么能这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以在OnLoad中执行以下操作:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myVar", string.Format("var myVar = {0};", MyFunction()), true);

答案 1 :(得分:0)

您可以使用HiddenField

hfId.Value = MyFunction();

当您想在客户端使用它时:

var MyVar = document.getElementById('hfId').value;

希望这会有所帮助 ^^