私は、すべてのデータ クエリとフロント エンドの作業に javascript と ajax を使用する Web ページに取り組んでおり、Excel のエクスポート機能を書き込もうとしています。JavaScriptでこれを行う唯一の方法は、IEでのみ利用可能なActiveXControlを使用しているように見えるので、これをWebページの背後にあるコードファイルにサブとして含めたいと思います。
これは良い考えのように思えますが、ボタンをクリックするたびにページがポストバックされ、そこにあったエクスポート対象のデータがすべて失われます。asp:Buttonに含めるOnClientClick="return false;"
と、ボタンはポストバックしませんが、Sub も実行されません。register client スクリプト ブロックを使用せずに、ここで私の目標を達成する方法はありますか? どんな助けでも大歓迎です。
ありがとう!
- 編集 -
メソッド呼び出しの $.ajax で 404 を取得しています。関連するコードは次のとおりです。
//server side
Partial Class Report
Inherits System.Web.UI.Page
<System.Web.Services.WebMethod()>
Public Sub toXL()
Response.Write("<br><br>Here<br><br>")
End Sub
End Class
//client side
function toExcel() {
$.ajax({
type: "POST",
url: "/report.aspx/toXL",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.error) {
alert(msg.error);
}
return false;
}
});
}
//button
<asp:Button ID="MyButton" runat="server" AutoPostBack="false" type="button" OnClientClick="toExcel(); return false;" />