Asp.net mvc MVC操作,我应该为登录创建2个操作吗?

Asp.net mvc MVC操作,我应该为登录创建2个操作吗?,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,在asp.net mvc中,我想创建一个登录操作 我就是这样做的: 创建一个名为login的操作/视图,它只显示视图 创建另一个名为login2的操作,该操作将是处理表单post的页面,并检查数据库的用户名/密码是否正确。如果是,则重定向到somepage,如果不是,则重定向回带有相应错误消息的登录页面 这是最好的方法吗?您可以创建两个登录操作,一个用于查看,另一个用于表单发布。然后用AcceptVerbs属性装饰它们,以描述它们将接受的方法。请参见此处的示例您可以创建两个登录操作,一个用于查看

在asp.net mvc中,我想创建一个登录操作

我就是这样做的:

创建一个名为login的操作/视图,它只显示视图

创建另一个名为login2的操作,该操作将是处理表单post的页面,并检查数据库的用户名/密码是否正确。如果是,则重定向到somepage,如果不是,则重定向回带有相应错误消息的登录页面


这是最好的方法吗?

您可以创建两个登录操作,一个用于查看,另一个用于表单发布。然后用AcceptVerbs属性装饰它们,以描述它们将接受的方法。请参见此处的示例

您可以创建两个登录操作,一个用于查看,另一个用于表单发布。然后用AcceptVerbs属性装饰它们,以描述它们将接受的方法。请看这里的例子

我同意克雷格的观点;然而,如果你想用其他的方式来做,你应该想出一些命名约定来区分你的ActionMethods并坚持它们

在预览5之前,我使用

登录=>验证 创建=>插入 编辑=>更新


等等。

我同意克雷格的观点;然而,如果你想用其他的方式来做,你应该想出一些命名约定来区分你的ActionMethods并坚持它们

在预览5之前,我使用

登录=>验证 创建=>插入 编辑=>更新


等等。

以下是我使用的模式:

    /// <summary>
    /// Displays the Login screen the first time
    /// to anyone who wishes to view it.
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Login()
    {
        return View();
    }

    /// <summary>
    /// Handles the form postback
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs(HttpVerbs.Post)]
    [ValidateAntiForgeryToken]
    public ActionResult Login(string name, 
                              string password, 
                              string ReturnUrl)
    {
        // perform authentication here

        if (string.IsNullOrEmpty(ReturnUrl))
            return RedirectToAction("Index", "Main");

        return Redirect(ReturnUrl);
    }

以下是我使用的模式:

    /// <summary>
    /// Displays the Login screen the first time
    /// to anyone who wishes to view it.
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Login()
    {
        return View();
    }

    /// <summary>
    /// Handles the form postback
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs(HttpVerbs.Post)]
    [ValidateAntiForgeryToken]
    public ActionResult Login(string name, 
                              string password, 
                              string ReturnUrl)
    {
        // perform authentication here

        if (string.IsNullOrEmpty(ReturnUrl))
            return RedirectToAction("Index", "Main");

        return Redirect(ReturnUrl);
    }

是的,这就是我登录的方式,如果有意义的话,还有很多其他的事情。是的,这就是我登录的方式,如果有意义的话,还有很多其他的事情。