ASP.Net MVC 4、インターネット アプリケーションを使用して簡単な Web サイトを作成しました。新しいページのコントローラー、モデル、および関連するビューを追加しました。すべてがローカルで正常に動作し、登録、ログイン、新しいページ機能の使用が可能です。Azure Web サイトに公開した後、ホーム、アバウト、登録、ログインのすべての組み込み機能を正常に使用できます。ただし、追加した新しいコンテンツに移動できず、エラー 500 が表示されます。ここでも、この機能はすべてローカルで機能します。私はASP.Net MVCに非常に慣れていないので、私が得ることができるあらゆる助けを利用できます.
RouteConfig
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
追加したコントローラのインデックス アクション
private UsersContext uc = new UsersContext();
private UserProfile user = new UserProfile();
private Character character = new Character();
//
// GET: /Character/
public ActionResult Index()
{
user = uc.UserProfiles.Single(u => u.UserName == User.Identity.Name);
return View(uc.Characters.ToList().Where(c => c.AccountOwnerId == user.UserId));
}
他に役立つアイテムがあれば教えてください。ああ、これを新しく作成した DbContext ではなく、UsersContext に入れました。
public UsersContext()
: base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Character> Characters { get; set; }
編集:私が言及するのを忘れていたのは、私が公開したときに、メールアドレスフィールドがユーザープロファイルまたはキャラクターテーブル全体に追加されなかったことです. これらのアイテムを手動で追加するには、Azure 管理ポータルで SQL を実行する必要がありました。