mvc asp.net中出现错误404.视图未显示

本文关键字:视图 显示 错误 asp net mvc | 更新日期: 2023-09-27 18:21:16

我在创建视图及其自己的操作结果时遇到问题。我得到的错误是这个

应用程序中的服务错误"/"。

没有重复出现。

描述:HTTP 404。El recurso que estábuscando(o una de susdependencias)se puede haber quiado,haber cambiado de nombre o no这是一个可争议的时间。修改URL地址这是一个正确的描述。

Dirección URL请求:/Cursos/AgregarColumno/2

这是我的观点(我知道它还没有完成,但我认为这不是问题所在)

@model LibreriaEntidad.Cursos
@{
    ViewBag.Title = "AgregarAlumnos";
}
<h2>AgregarAlumnos</h2>
@using (Html.BeginForm())
{
    <fieldset>
        <legend>Cursos</legend>
        @*<div class="editor-label">
            @Html.LabelFor(model => model.idCurso)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.idCurso)
            @Html.ValidationMessageFor(model => model.idCurso)
        </div>*@
        <div class="editor-label">
            @Html.LabelFor(model => model.Nombre)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Nombre)
            @Html.ValidationMessageFor(model => model.Nombre)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.idReparticion)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.idReparticion)
            @Html.ValidationMessageFor(model => model.idReparticion)
        </div>
        @*<div class="editor-label">
            @Html.LabelFor(model => model.Presencual)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Presencual)
            @Html.ValidationMessageFor(model => model.Presencual)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.Virtual)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Virtual)
            @Html.ValidationMessageFor(model => model.Virtual)
        </div>*@
            <div class="editor-field">
                @Html.DropDownList("idUsuario", ViewBag.Usuarios as SelectList)
            </div>
            <p>
                <input type="submit" value="Save" />
            </p>
</fieldset>

以及我的控制器在这里的动作。

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AgregarAlumnos(int id = 0)
{
    Cursos cursos = db.Cursos.Find(id);
    ViewBag.Usuarios = new SelectList(db.Usuario, "idUsuario", "Nombre");
    return View(cursos);
}

提前感谢

mvc asp.net中出现错误404.视图未显示

您应该从操作中删除[HttpPost]属性。

更新:

要显示视图,操作必须接受GET请求。您应该使用两种不同的操作来显示视图和提交表单。

您需要一个相应的HttpGet方法,因为您当前的方法只接受HttpPost请求。添加以下内容:

[HttpPost]
public ActionResult AgregarAlumnos(int id = 0)
{
    Cursos cursos = db.Cursos.Find(id);
    ViewBag.Usuarios = new SelectList(db.Usuario, "idUsuario", "Nombre");
    return View(cursos);
}

HttpGet:-每当第一次执行HttpGet方法时加载任何视图。这意味着在Asp.NetMVC HttpGet方法中对任何URL的第一次请求时执行。这意味着,如果任何URL通过URL接收输入,我们可以通过HttpGet方法处理输入。

HttpPost:-HttpPost方法在MVC表单中单击Submit按钮后执行。这意味着我们可以使用HttpPost方法处理表单数据。