内アクションパラメータの値を取得する私は、私はjqueryのからへの投稿午前作用を有します。私は他のいくつかのグループアクションを持っていますので、変更を行う人に変更を許可する権限があることを確認するために、認可属性を使用したいと考えています。アクションフィルタ
は、私はすでにfilterContext.HttpContext.Request.Params["groupId"]
にアクセスしてGETリクエストに成功しgroupId
を取得AuthorizationAttribute
を持っていますが、それはポストに来るとき、それは動作しません。 Request.Form
は空で、Request.Params
もあります。
は、ここで私は私の許可属性を持っているコードです:
public int groupId { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
username = httpContext.User.Identity.Name.Split('\\').Last();
// awesome permissions checking goes here...
return authorized;
}
public override void OnAuthorization(AuthorizationContext filterContext)
{
groupId = int.Parse(filterContext.HttpContext.Request.Params["groupId"]); // this line throws an exception
base.OnAuthorization(filterContext);
}
私はこのanswer見てきましたが、私のForm
プロパティが空である:(
:
var serverComm = {
post: function (url, data) {
return $.ajax({
url: url,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data)
});
},
get: function (url, data) {
return $.ajax({
url: url,
type: 'GET',
cache: false,
contentType: 'application/json; charset=utf-8',
data: data
});
}
};
// some awesome code later...
serverComm.post(editGroupNameUrl, { groupId: group.id, name: newName })
パラメータはFormパラメータと同じですか?それがQueryStringにある可能性はありますか? – ivowiblo
QueryStringが空です。そして、「フォームパラメータとして」ということはどういう意味ですか?あなたはトップコードの例で私の行動を見ることができます – soniiic
フォームコードを投稿できますか? – ivowiblo