在第一页加载时执行C#代码
我在在第一页加载时执行C#代码,c#,javascript,C#,Javascript,我在SomeClass类中有一个公共静态方法stringsomemethod(stringmessage),它获取一个字符串作为输入,并返回如下内容 <div>message</div> <script language="javascript">var string = <% $SomeClass.SomeMethod('asdada');></script> 消息 当然这是过于简单化了,但想法就是这样。现在我想做一些类似的事情
SomeClass
类中有一个公共静态方法stringsomemethod(stringmessage)
,它获取一个字符串作为输入,并返回如下内容
<div>message</div>
<script language="javascript">var string = <% $SomeClass.SomeMethod('asdada');></script>
消息
当然这是过于简单化了,但想法就是这样。现在我想做一些类似的事情
<div>message</div>
<script language="javascript">var string = <% $SomeClass.SomeMethod('asdada');></script>
var字符串=
第一次加载页面时,我真的不知道如何才能加载。这就给了我一个JavaScript中的“预期对象”错误。有人能帮我解决这个问题吗?如果你想让服务器端标签输出一些东西,你应该使用:
<%: yourCode %>
您的代码将调用该方法,但不会将输出发送到页面:
<script>var string=<% yourMethodCall() %></script>
/* Result = */
<script>var string=</script>
/* ASP.Net code is translated to this serverside code: */
Response.Write("<script>var string=");
yourMethodCall();
Response.Write("</script>");
<script>var string=<%: yourMethodCall() %></script>
/* ^ */
/* Result = */
<script>var string=outputOfYourMethod</script>
/* ASP.Net code is translated to this serverside code */
Response.Write("<script>var string=");
Response.Write(HtmlEncode(yourMethodCall()));
Response.Write("</script>");
var字符串=
/*结果=*/
变量字符串=
/*ASP.Net代码被转换为以下服务器端代码:*/
Write(“var string=”);
yourMethodCall();
回答。写(“”);
变量字符串=
/* ^ */
/*结果=*/
var string=outputOurMethod
/*ASP.Net代码被转换为此服务器端代码*/
Write(“var string=”);
Write(HtmlEncode(yourMethodCall());
回答。写(“”);
而且,如果这是一个服务器端类,为什么要包含
$
符号?您可以将动态创建/注册客户端脚本的方法放在页面加载中,并检查页面是否在页面加载中回发,如果不是,运行注册脚本代码。您需要用引号将其括起来,并用正确的转义序列替换双引号:
var string = "<%=SomeClass.SomeMethod("asdada").Replace("\"", "\\\"")%>";
var string=”“;
您是否尝试了$(Document).ready(函数{var string=$someclass.somemethod();});关注点分离表示这是不好的做法。