MVC3按Enter键进入URL

时间:2012-08-30 07:32:04

标签: c# asp.net-mvc

我正在网站上工作,我在我的网站上有一个注册视图,按下注册按钮我正在使用ActionMethod,一切正常,问题是成功注册后如果用户按Enter键进入URL它显示无法找到资源,我该如何处理? 以下是我的控制器代码==>

 public ActionResult Join(SignUpModel model)
        {        
                int create = Repository1.Create(UserEntity);
                if (create > 0)//if <= 0 means username already exists
                {
                    int savesetup = Repository2.SaveInfo(model);                                        
                    TempData["SucessMsg"] = "User registered Successfully";
                    return View("Index");
                }
                if (create < 0)
                {
                    TempData["ErrorMessage"] = "Username already exists";
                    return View("Index", model);
                }         

            return RedirectToAction("Index", "SignUp");
        }

和注册视图是索引视图

public ActionResult Index()
        {         
            return View();
        }

由于我没有名为Join的View,而是我将其重定向到索引页面,但是当User处于注册/加入URL并按下输入时显示无法找到资源

2 个答案:

答案 0 :(得分:1)

ActionResult Join(SignUpModel model)是否标有[HttpPost]属性?如果是这样,那么只有在用户发出POST请求时才会调用它(并且输入url本身将执行GET请求。如果是这种情况,只需添加另一个名为Join()的操作方法,而不使用[HttpPost] -attribute并使用它将它们重定向到正确的页面(或显示您想要的任何信息)。

修改

在阅读您的问题时我有些仓促,并且错过了您已将用户重定向到ActionResult Join(SignUpModel model),对不起。

答案 1 :(得分:0)

您是否检查过是否存在名为Index的视图。

    return RedirectToAction("Index", "SignUp");
    }

    public ActionResult Index()
    {         
        return View();
    }

如果存在名为Index.return的View,则上述代码是正确的View()将在MVC中搜索具有相同名称的ActionResult的View。确保有一个名为Index的View。如果没有名为index的视图,它将提供错误页面,如找不到页面。