随着我的 javascript 越来越大,我想清理我的 ASPX 文件。
问题是我的很多 javascript 涉及很多内联 C# 调用。IE:
'<%=C# method call)%>'
但是,当它隐藏在 .js 文件中时,这似乎不起作用。
有没有一种解决方法,所以我可以将我的 javascript 分成 js 文件?
随着我的 javascript 越来越大,我想清理我的 ASPX 文件。
问题是我的很多 javascript 涉及很多内联 C# 调用。IE:
'<%=C# method call)%>'
但是,当它隐藏在 .js 文件中时,这似乎不起作用。
有没有一种解决方法,所以我可以将我的 javascript 分成 js 文件?
当然,您不能从 .js 文件调用 C#。C# 代码在服务器上执行,而不是在客户端上。您的 .js 文件未在服务器上解析。
没有什么可以阻止您将实际的 JavaScript 放入 .js 文件中,这与服务器端 C# 代码动态发出的 JavaScript 不同。
如果您有大量生成 JavaScript 的 C# 代码,您仍然可以使用部分视图来组织代码(这是 MVC 术语,但我确信标准 ASP.Net 也有类似的东西)。
您可以使用WebMethods并通过 Ajax 调用它们。
[WebMethod]
public static int SomeMethod()
{
...
}
然后用 Ajax 调用它。(我在这个例子中使用了jQuery 。)
$.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
}
});