【问题标题】:ASP.NET MVC C#: My View "Create" causes a 404 error every timeASP.NET MVC C#:我的视图“创建”每次都会导致 404 错误
【发布时间】:2018-03-22 01:47:14
【问题描述】:

这是我的第一个 ASP.NET MVC 应用程序,我的一个视图一直导致 404 错误。我有 4 个视图,“创建”是唯一不起作用的视图。我尝试重新创建视图“创建”,因为这里的另一篇文章中建议了它。

但这对我不起作用。

手机控制器

[HttpPost]
public ActionResult Create(PhoneVM model)
{
        Phone phone = new Phone();
        phone.Id = model.Id;
        phone.Name = model.Name;
        phone.PhoneNumber = model.PhoneNumber;
        PhoneRepository phoneRepository = new PhoneRepository();
        phoneRepository.SavePhone(phone);

        return RedirectToAction("Index");
}

创建.cshtml

@model PhoneBook.ViewModels.PhoneVM

@ {
    ViewBag.Title = "Create";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

![结构]:https://imgur.com/a/Udqeo

![当我尝试访问它时]https://imgur.com/a/bnXr3

我在Create.cshtml 中还有一些 html 代码,但我认为这无关紧要。

Mby,在过去的几个小时里,我刚刚对此视而不见,忘记了一些小事。

【问题讨论】:

    标签: c# asp.net-mvc http-status-code-404


    【解决方案1】:

    好吧,在您的 Create 操作方法中,您不会返回 View() 而是重定向到不同的操作 Index 并且很可能在您的 Phone 控制器中没有称为 Index 的此类操作方法

    public ActionResult Create(PhoneVM model)
    {
        .....
        return RedirectToAction("Index");
    }
    

    【讨论】:

    • 我的 PhoneController 中有一个名为 Index 的方法,该索引是显示所有电话的位置。我有一个名为 EditPhone 的视图,在我的 PhoneController 中它也重定向到 Index,但我的 EditPhone 页面工作得很好。当您在该页面上完成时,它只是重定向到索引。但我会尝试返回一个视图而不是
    • return view() 对我不起作用,只是给了我同样的错误
    • 我在我的代码中忘记了 return view() 的另一个地方,所以你指出了我正确的方向。谢谢大佬!
    猜你喜欢
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    相关资源
    最近更新 更多