コントローラーメソッドのデータベース呼び出しからのデータで満たされた jQuery メソッド内からUserTypeというパブリックプロパティにアクセスしたいと考えています。
複数のコントローラーメソッドから同じプロパティ値を設定する必要があります。ViewData にデータを入力し、以下に示すように jquery メソッドでアクセスしようとしました。
TestController.cs:
[Authorize(Roles = "Root")]
public ActionResult Index()
{
var user = _dbService.GetUser(_profile.UserName);
ViewData["UserType"] = user.UserType;
}
インデックス.aspx:
<% var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); %>
<script type="text/javascript">
$(function () {
var userType = <%= serializer.Serialize(ViewData["UserType"]) %>;
alert(userType);
});
</script>
UserType 値に正常にアクセスできますが、すべてのコントローラー アクション メソッドで以下のコードを使用する必要があります。
ViewData["UserType"] = user.UserType;
これは良い設計方法ではありません。
上記の変更をサンプルコードで管理するための他の最良の代替手段を誰かが教えてくれますか?