将代码插入到使用ASP.NET中

时间:2010-01-19 17:25:39

标签: asp.net html-head

我有一些看起来像这样的代码:

<head runat="server">
  <script type="text/javascript">
     var params = {};
     params.param1 = 'value1';
     params.param2 = 'value2';
     params.param3 = 'value3';
     params.param4 = ''; // ASP.NET value 1
     params.param5 = ''; // ASP.NET value 2
     function.call(params);
  </script>
</head>

如何使用ASP.NET填充param4param5?我已经阅读了有关母版页和内容占位符的内容,但有没有办法让我可以执行params.param4 = '<%= var1 %>';params.param4 = '<asp:var />';之类的内容?

修改

感谢所有回答如此之快的人。我一定有一个解析错误或者让我认为这是不可能的。只是为了说明我为解决问题所做的工作:

ASPX页面:

<head>
  <script type="text/javascript">
     var params = {};
     params.param1 = 'value1';
     params.param2 = 'value2';
     params.param3 = 'value3';
     params.param4 = '<%= var1 %>';
     params.param5 = '<%= var2 %>';
     function.call(params);
  </script>
</head>

CS Code-Behind:

public string var1 { get; set; }

public string var2 { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
   // setup code goes here
   var1 = 'param4';
   var2 = 'param5';
}

注意:您的头部不需要runat="server",只要变量在代码隐藏中公开,就可以通过{{1}访问它们} <%= %>

3 个答案:

答案 0 :(得分:2)

你回答了自己的问题。您可以在代码隐藏中声明变量,然后在代码中使用<%= %>标记来使用它们,或者您可以使用RegisterClientScriptBlock方法将JavaScript添加到您的页面中。

答案 1 :(得分:1)

如果 不是 runat =“server”

,那么你可以做到这一点

或者你可以渲染 params 数组服务器端

Page.ClientScript.RegisterArrayDeclaration("params", "'value1','value2','value3','" + value4 + "','" + value5 + "'");

答案 2 :(得分:1)

如果您的值是在类的.cs部分中声明的公共变量,则可以完全按照您的描述执行,并在服务器标记中读取它们。