この質問は、私の以前の質問「ASP.NET から JSONdata を取得して jQuery に送信するにはどうすればよいですか?」と大きく関連しています。(FullCalendar の実装) .
ASP.NET で次のオブジェクト リテラルを設定しようとしています。
$(document).ready(function () {
$('#calendar').fullCalendar({
events: GetEvents(start, end) //<-- This line is invalid
}
}
上記の無効な行の右側には、JSON データへの参照が含まれている必要があります。
これはクライアントからサーバーへの呼び出しであると想定しているため、これを間違った方法で行うと、潜在的なセキュリティの問題が発生する可能性があります。
javascript からサーバー側メソッドを呼び出すチュートリアルを見つけました(私には時代遅れに見えます) が、ASP.NET で動的に jQuery オブジェクト リテラルをデータ セットにバインドする適切な方法はありますか?
たとえば、適切な権限を持つログイン ユーザーのみが呼び出すことができる応答を ASP.NET で作成するにはどうすればよいですか (各ユーザーは、カレンダーで0 – * 特定のユーザー バインド イベントのみを編集できます)。そして、その応答を jQuery オブジェクト リテラルに返すにはどうすればよいでしょうか。
編集:
GetEvents(start, end)
リクエストに応じて、メソッドの疑似コードを次に示します。
public JSONData GetEvents(DateTime start, DateTime end) {
User user = HttpContext.Current.User;
if(user.Identity.IsAuthenticated && IsValidTimePeriod(start, end)) {
List<Event> events = EntityFrameWorkService.GetEventsFromDataBase(user, start, end);
JSONData result = ConvertEventDataToJSON(events);
return result;
}
return null;
}
JSONData
返されるJSON-data-object型の任意の種類でありEntityFrameWorkService
、GUIとEntity Frameworkの間のサービスメソッドを持つ架空のクラスです。