次のように、ajaxを使用してViewからController Action Methodにデータを渡そうとしています:-
この ViewBag.MyUser = MyUser; のようなビューバッグを使用して、別のコントローラーからこのビューに渡したユーザーのメンバーシップ インスタンスがあります。
以下のように ajax を使用して、このビューから「MyUser」を別のコントローラーに渡したいと思います。
$('#Link').click(function () {
$.ajax({
url: http://localhost/Account/Process,
type: 'POST',
data: '@ViewBag.MyUser',
success: function () {
},
error: function () {
}
});
私が投稿しているActionMethodは次のとおりです
public ActionResult Process(MembershipUser MyUser)
{
//Do somethihng with MyUser
}
do ajax post を渡す BeginExecuteCore(AsyncCallback callback, object state)
と、「このオブジェクトにはパラメーターなしのコンストラクターが定義されていません」というエラーが内部的に発生します。そして、コントロールは私の行動方法にさえ来ません。
アクションメソッドからパラメーターを削除すると(MembershipUser MyUser)
、アクションメソッドに投稿されますが、その後
- このような場合、そのビューからコントローラーへのパラメーターなしで「MyUser」を渡すにはどうすればよいですか?
- ルートに何か問題がありますか?はいの場合、ルートは何ですか?
- または get または post を使用する必要がありますか?
- どこで MyUser を MembershipUser にキャストする必要がありますか?