ASP Net MVC,' /'中的服务器错误应用程序 - 找不到资源

时间:2018-04-15 13:09:52

标签: asp.net asp.net-mvc-4

我目前收到错误"无法找到资源"在尝试访问视图时。

我试图打开的视图称为"注册"。 Controller(AccountController)具有ActionResult方法" Register"实现。

同一个控制器包含"登录"查看我可以毫无问题地访问。

我试图呼叫的网址:

localhost:port / Account / Login< - Works localhost:port / Account / Register< - 不工作

控制器方法:

    [HttpPost]
    public ActionResult Register(LoginModel model)
    {
        if(ModelState.IsValid)
        {
            movieEntities db = new movieEntities();
            var newUser = db.users.Create();
            var encrypPass = Helpers.SHA256.Encode(model.Passwort);
            var user = model.UserName;
            newUser.user_name = user;
            newUser.user_passwdhash = encrypPass;
            db.users.Add(newUser);
            db.SaveChanges();
            return RedirectToAction("Index", "Home");
        }
        return View(model);
    }

查看:

@model MovieDatabase.Models.LoginModel

@{
ViewBag.Title = "Register";
}

<h2>Register</h2>


@using (Html.BeginForm())
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h4>LoginModel</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
        @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class 
    = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.UserName, new { htmlAttributes = 
    new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.Passwort, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Passwort, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Passwort, "", new { @class = "text-danger" })
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Register="btn btn-default" />
        </div>
    </div>
</div>
}
    @section Scripts {
         @Scripts.Render("~/bundles/jqueryval")
    } 

我尝试清理,重建解决方案,重命名视图,重命名方法并创建新方法...... 我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

您正在调用的方法似乎是POST,请尝试创建另一个返回您所引用视图的方法。在你的代码上添加它。

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

视图的文件名与方法名称相同。如果   不是你得到同样的错误。

有关路由的详细信息,请参阅Microsoft文档ASP.NET MVC Routing