我在使用 .NET MVC 4 时遇到了一个有趣的小问题。我正在尝试了解它是如何工作的,在完成了一些教程之后,我一直遇到同样的问题。
下面是我的默认索引方法,页面加载时应该调用它。
public ActionResult Index() {
var result = (from Product in db.Products
orderby Product.Id ascending
select Product);
return View(result.ToList());
}
该方法从我的数据库中返回一个产品列表。
@using (Html.BeginForm("Index", "Stap1", FormMethod.Post, new { id = "form1" }))
{
<select id="select" size="4" name="product">
@foreach (var item in Model)
{
<option value="@item.Id" >@Html.DisplayFor(modelItem => item.Naam), @Html.DisplayFor(modelItem => item.Prijs)</option>
}
</select>
<input type="submit" value="Voeg Toe!" name="Add" />
}
我添加了一个函数来捕获表单的发布数据。像这样..
[HttpPost]
public ActionResult Index(int product = 0) {
var result = (from Product in db.Products
orderby Product.Id ascending
select Product);
System.Diagnostics.Debug.WriteLine("wrong function called!");
return View(result.ToList());
}
但是,当我尝试加载索引页面时,您可以看到这是非常基本的东西。它调用“重载的 httppost Index()”而不是正常的。为什么在没有发布任何内容时调用 HTTPPOST 方法?