Pau*_*aul 2 get http-post razor asp.net-mvc-3
以下是控制器和视图.单击[提交]按钮时,应用程序会引发错误"无法找到资源".我知道使用Get和Post是MVC的非常基本的概念.在使用Get和Post以及使用以下代码时错误的情况下,是否有任何实际情况可以让我明白这个概念.
namespace MVCModelBinding.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost, ActionName("Index")]
public ActionResult IndexPost()
{
if (Request.Form.Count > 0)
{
string id = Request.Form["ID"];
string fname = Request.Form["FirstName"];
string lname = Request.Form["LastName"];
ViewBag.StatusMessage = "Employee data received successfully for ID " + id + "!";
}
return View();
}
public ActionResult About()
{
return View();
}
}
}
Run Code Online (Sandbox Code Playgroud)
@using (Html.BeginForm("IndexPost", "HomeController",FormMethod.Post))
{
<table>
<tr>
<td>
Employee ID
</td>
<td>
@Html.TextBox("ID")
</td>
</tr>
<tr>
<td>
First name
</td>
<td>
@Html.TextBox("FirstName")
</td>
</tr>
<tr>
<td>
Last Name
</td>
<td>
@Html.TextBox("LastName")
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Submit" />
</td>
</tr>
</table>
}
Run Code Online (Sandbox Code Playgroud)
谢谢
保罗
用于表单的操作名称和控制器名称是错误的.它应该是
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
Run Code Online (Sandbox Code Playgroud)
动作名称只是"Index"因为你指定的是ActionNameAttribute.控制器名称不应包含"Controller"后缀.
| 归档时间: |
|
| 查看次数: |
6803 次 |
| 最近记录: |