JavaScriptがどんどん大きくなっているので、ASPXファイルをクリーンアップしたいと思います。
問題は、私のjavascriptの多くが多くのインラインC#呼び出しを伴うことです。すなわち:
'<%=C# method call)%>'
しかし、これは.jsファイルに隠されていると機能しないようです。
JavaScriptをjsファイルに分離できるようにするための回避策はありますか?
JavaScriptがどんどん大きくなっているので、ASPXファイルをクリーンアップしたいと思います。
問題は、私のjavascriptの多くが多くのインラインC#呼び出しを伴うことです。すなわち:
'<%=C# method call)%>'
しかし、これは.jsファイルに隠されていると機能しないようです。
JavaScriptをjsファイルに分離できるようにするための回避策はありますか?
確かに、.jsファイルからC#を呼び出すことはできません。C#コードは、クライアントではなくサーバーで実行されます。.jsファイルはサーバー上で解析されません。
たとえば、サーバー側のC#コードによって動的に生成されるJavaScriptとは対照的に、実際のJavaScriptを.jsファイルに入れることを妨げるものは何もありません。
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
}
});