0

私はMVC3UserManagementに取り組んでおり、ローカル(VS2010)はすべて正常に機能しているようですが、IIS(7.5)ではJSON投稿への応答が表示されません。

ユーザージェネレーターのテーブル:

this.init = function (tableSelector) {

// get user table
userTable = $(tableSelector);

// fill the user table with all 
$.post('/{controllerName}/GetAllUsers', {}, function (users) {

  // add users to table
  for (var i in users) {
    appendUser(users[i]);
  }

  //initialize table sorter and pager
  userTable.tablesorter({ widthFixed: true, widgets: ['zebra'] }).tablesorterPager({ container: $("#pager"), positionFixed: false, removeRows: false });

  // bind user action link event handlers for all rows
  userTable.on('click', '.delete-user', deleteUser);
  userTable.on("click", ".unlock-user", unlockUser);
  userTable.on("click", ".manage-roles", manageRoles);
});

}

ルート登録方法:

public static void RegisterMe()
{

  var routes = RouteTable.Routes;

  using (routes.GetWriteLock())
  {
    routes.MapRoute("SimpleUserManagementRoute",
      "SimpleUserManagement/{action}",
      new { controller = "UserManagement", action = "GetAllUsers" },
      new string[] { "SimpleMvcUserManagement" });
  }

}

コントローラー部分:

public IUserAccountService _accountService { get; set; }

public JsonResult GetAllUsers()
{
  var users = _accountService.GetAllUsers();
  var result = from MembershipUser user in users
               select CreateJsonUserObject(user);

  return Json(result);
}

StackOverflowを見回してみると、問題は強力にコード化されたURLにあることがわかりました。参照:MVC3JSON呼び出しがIISで機能しない

そして、私は自分のURLをリファレンスに記載されているものに置き換えようとしましたが、もちろん、URLの場所/方法がわからないため、機能しませんでしたstringify:(、また、そのソリューションがこれで機能するかどうかもわかりません。

助けてください。TY!

4

2 に答える 2

0

IISは仮想ディレクトリで構成されていますか?/ {controllerName} / GetAllUsersをブラウザに入れるとどうなりますか?応答または404が表示されますか?

于 2012-07-13T15:31:29.077 に答える
0

に渡したURL$.postが間違っています。

どちらかである必要があります、

$.post("/Register/GetAllUsers", ...)//コントローラーがRegisterControllerであると仮定します

また

$.post('@Url.Action("GetAllUsers", "Register")',.. 
于 2012-07-13T16:52:33.173 に答える