私は MVC の初心者なので、これは些細なことに聞こえるかもしれません。Views というフォルダーに 2 つのビュー (EnterLogin.aspx、ShowLogin.aspx) がありますLoginForm
。これが私のGlobal.asax.csです
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "LoginForm", action = "ShowLogin", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
これが私のShowLogin.aspxデザインコードです
<form method="post" action="EnterLogin" runat="server">
Hello, i'm login page
Enter Name <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<input type="submit" value="PressMe" />
</form>
これが私のコントローラーです
public class LoginFormController : Controller
{
public ActionResult ShowLogin()
{
return View();
}
public ActionResult EnterLogin()
{
return View("EnterLogin");
}
}
アプリケーションを実行すると、最初にURLがロードされます
http://localhost:50224/
ShowLogin.aspx ビューを表示します
ボタンをクリックすると、EnterLogin
コントローラーを呼び出してEnterLogin
ビューを表示しますが、URL で表示されます
http://localhost:50224/EnterLogin
それ以外の
http://localhost:50224/LoginForm/EnterLogin
何が原因でしょうか?