.NET MVC 4 で興味深い小さな問題が発生しました。これがどのように機能するかを学習しようとしていますが、いくつかのチュートリアルを実行した後、同じ問題に遭遇し続けています。
以下は、ページの読み込み時に呼び出されるデフォルトの Index メソッドです。
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 メソッドを呼び出すのはなぜですか?