1

私のビューモデルでは、現在のセッション値を取得したいと考えています。そのために私はこのように書いています:

self.currentUserId = ko.observable(HttpContext.Current.Session["UserID"]);

しかし、そのエラーが表示されます

ReferenceError: HttpContext is not defined.

HttpContext を定義するには? または現在のセッション値を取得する方法はありますか?

4

1 に答える 1

5

ステートメントを変更する

self.currentUserId = ko.observable(HttpContext.Current.Session["UserID"]);

Webフォームとビューモデルを 使用するアプリケーションがaspxページとインラインである場合

self.currentUserId = ko.observable('<%=HttpContext.Current.Session["UserID"]%>');

ビューのインラインビューモデルを備えたカミソリビューエンジンを備えたMVCの場合

self.currentUserId = ko.observable('@HttpContext.Current.Session["UserID"]');

ビューモデルが外部jsファイルにある場合は、最初にそれをjs変数に保存し、そのjsで使用します

HttpContext.Current.Session["UserID"]同様に、外部のjsファイルでは使用できません。

<script type="text/javascript" src='<path_of_knochout.js>'></script>

<script type="text/javascript">
    var userId = '<%=HttpContext.Current.Session["UserID"] %>';
</script>

<script type="text/javascript" src='<your_view_model_js>'></script>

<your_view_model_js>ファイル使用中

self.currentUserId = ko.observable(userId);
于 2012-11-01T08:37:25.600 に答える