在外部Javascript文件中进行内联C#调用

在外部Javascript文件中进行内联C#调用,c#,javascript,asp.net,C#,Javascript,Asp.net,随着我的javascript越来越大,我想清理我的ASPX文件 问题是我的很多javascript都涉及很多内联C#调用。即: '<%=C# method call)%>' “” 但是当它隐藏在一个.js文件中时,它似乎不起作用 是否有一种解决方法可以将javascript分离到js文件中?当然,你不能从.js文件中调用C。C#代码在服务器上执行,而不是在客户机上执行。您的.js文件未在服务器上解析 没有什么可以阻止您将实际的JavaScript放入.js文件,而不是服务器端C#

随着我的javascript越来越大,我想清理我的ASPX文件

问题是我的很多javascript都涉及很多内联C#调用。即:

'<%=C# method call)%>'
“”
但是当它隐藏在一个.js文件中时,它似乎不起作用


是否有一种解决方法可以将javascript分离到js文件中?

当然,你不能从.js文件中调用C。C#代码在服务器上执行,而不是在客户机上执行。您的.js文件未在服务器上解析

没有什么可以阻止您将实际的JavaScript放入.js文件,而不是服务器端C#代码动态发出的JavaScript

如果您有很多生成JavaScript的C代码,您仍然可以使用局部视图(这是MVC术语,但我相信标准ASP.Net也有类似的内容)来组织代码。

您可以使用并通过Ajax调用它们

[WebMethod]
public static int SomeMethod()
{
    ...
}
然后用Ajax调用它。(我在本例中使用。)

$.ajax({
    type:        "POST"  
    url:         "/yourwebpage.aspx/SomeMethod"
    data:        "{}"
    contentType: "application/json; charset=utf-8",
    dataType:    "json",
    success:     function(data) {
                     // do something with the return value
                 }
});