私はasp.net C#MVC3をカミソリテンプレートで使用しており、次のことを知りたいと思っています。for-loopに従ってフォームを複数回送信するにはどうすればよいですか?
私はフォームを持っています。このフォームにはボタンがあります。私は以下のコードが実行されるボタンをクリックした場合:
function OnGetSelectedFieldValues(result) {
for (var i = 0; i < result.length; i++) {
$("#id").val(result[i]); //This will replace the value of my hidden field with the selected id
$("#DeleteForm").submit();
}
}
私のロジックによれば、これは提出し、私は私のGridViewから選択した各行を削除する必要があります。 各レコードを選択しますが、これはJavascriptの "alert()"でテストしました。 しかし、最初のレコードだけが削除されますが、なぜこれが起こりますか、これをどのように修正しますか?
よろしく、
マルコ
編集: これは(理解を容易にするための)私の形式である:
@using (Html.BeginForm("Delete", "Home", FormMethod.Post, new { id = "DeleteForm" }))
{
<input type="hidden" id="id" name="id" />
<input type="button" id="button" value="Verwijder geselecteerde" />
}
マイコントローラー:
[HttpPost]
public ActionResult Delete(int id)
{
ErrorRepository repo = new ErrorRepository();
var test = repo.GetById(id);
repo.Delete(test);
return RedirectToAction("Index");
}
あなたのC#コード。複数の 'POST'要求をしないでください。 – Yuck
一般に、これは悪いアプローチのようです。トラフィックとレイテンシを節約するために、すべての削除要求を1つ要求してください。あなたのウェブサーバーの設定に問題が生じる可能性があります。つまり、何らかの種類の洪水防止セキュリティフィルタがインストールされている場合(または生産現場でも) – worenga