从c#中分配一个javascript变量

时间:2009-09-29 08:36:38

标签: c# javascript

我有一些javascrtipt例如:

<script type="text/javascript"> 
flashvars.myval  = "blah"; //get this from c# ..etc 
</script>

我需要从c#

中分配变量

我该怎么做? 我可以称之为c#方法吗?

我使用常规的asp.net。

javascript在aspx页面上。

5 个答案:

答案 0 :(得分:3)

您需要提供更多信息。假设在页面上,有些选项是:

  1. 触发回发并让服务器发送一个脚本,并在所有内容加载后执行响应(使用RegisterStartupScript)
  2. 执行ajax请求以从服务器获取数据,并设置变量或对回调执行任何操作
  3. 如果它始终从Web表单上的服务器发送(例如,在页面上调用属性):

    var somevar ='&lt;%= SomePageMethodThatReturnsTheValue()%&gt;';

  4. 如果它始终从asp.net mvc上的服务器发送,则执行类似(或ViewData [“SomeValue”],如果它是一个无类型视图):

    var somevar ='&lt;%= Model.MyProperty%&gt;';


  5. 编辑后:你想要什么选项3.像:

    <script type="text/javascript"> 
    flashvars.myval  = '<%= SomeMethodInThePageThatReturnsTheValue() %>'; //get this from c# ..etc 
    </script>
    

    代码也可以是您在加载时设置的属性:&lt;%= SomeProperty%&gt;。

答案 1 :(得分:0)

您可能需要查看something like Script#

答案 2 :(得分:0)

此脚本是单独的文件还是在aspx页面上?

如果是这样的话可以起作用:

.get({ 'userID': '<%=UserID%>', rest of JSON});

UserID是C#属性。

答案 3 :(得分:0)

这取决于您使用的技术。

如果您使用的是ASP MVC,请将数据传递到视图中(无论哪种方式适合您),然后使用&lt;%= syntax

flashvars.myval = <%=ViewData["MyVal"]%>

答案 4 :(得分:0)

我要给出的答案是做出很多假设,但鉴于你的帖子缺乏细节,它们看起来很公平。首先,我假设您在网页中运行此代码,其次我将假设您可以访问在Web服务器中运行的代码。如果两个假设都是正确的,您可以使用AJAX来调用服务器上的代码,并使用输出填充此值。

如果您使用的是jQuery,可能需要查看here以获取有关javascript代码的更多信息,并查看here以获取有关C#端的详细信息。