我无法创建视图和自己的actionresult。我得到的错误就是这个
错误de servidor enlaaplicación'/'。
没有se encuentra el recurso。
Descripción:HTTP 404. El recursoqueestábuscando(o una de sus 依赖性,seber puede haber quitado,haber cambiado de nombre o no estar disponible temporalmente。修改ladirecciónURLsiguiente y asegúresedequeestáescritacorrectamente。
DirecciónURL征集:/ Cursos / AgregarAlumno / 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);
}
提前致谢
答案 0 :(得分:0)
您应该从操作中删除 [HttpPost] 属性。
<强>更新强>
要显示视图,操作必须接受GET请求。您应该使用两种不同的操作来显示视图和提交表单。
答案 1 :(得分:0)
您需要相应的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: - 每当任何View加载第一次HttpGet
方法执行时。这意味着首次请求Asp.Net MVC HttpGet
方法中的任何URL执行。这意味着如果任何URL通过URL接收输入,我们可以通过HttpGet
方法处理输入。
HttpPost: - HttpPost
方法在您单击MVC表单中的“提交”按钮后执行。这意味着我们可以使用HttpPost
方法处理表单数据。