随着我的javascript越来越大,我想清理我的ASPX文件。
问题是很多我的javascript涉及很多内联C#调用。即:
'<%=C# method call)%>'
但是当它隐藏在.js文件中时,这似乎不起作用。
有没有解决方法,所以我可以将我的javascript分成js文件?
答案 0 :(得分:2)
当然你不能从.js文件中调用C#。 C#代码在服务器上执行,而不是在客户端上执行。您的.js文件未在服务器上解析。
没有什么可以阻止您将实际的JavaScript放入.js文件中,而不是像服务器端C#代码动态发出的JavaScript。
如果您有很多生成JavaScript的C#代码,您仍然可以使用部分视图来组织代码(这是MVC术语,但我确信标准ASP.Net有类似的东西)。
答案 1 :(得分:0)
您可以使用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
}
});