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);
}
提前感谢
您应该从操作中删除[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
方法处理表单数据。