私は2つのグリッドを持つ2ページを持っています。asp.net mvc
私の最初のページに私は10の編集可能な行があります。 1つの次のボタンがあります。
編集した値を次のページの他の変数IDに保存するために、これらの10行の編集値を次のページに取得する必要があります。 ASP.NET MVCでの状況の
おかげ
私は2つのグリッドを持つ2ページを持っています。asp.net mvc
私の最初のページに私は10の編集可能な行があります。 1つの次のボタンがあります。
編集した値を次のページの他の変数IDに保存するために、これらの10行の編集値を次のページに取得する必要があります。 ASP.NET MVCでの状況の
おかげ
最初のビューで<form>
// BeginForm will render a <form> around the rowmodel HTML
using (Html.BeginForm('PostToMe', 'MyController')) {
foreach (RowModel row in Model) {
// HTML to render out a row
}
}
の内部あなたの編集可能な列は、各列のため
public class RowModel
{
// properties here
}
データを一致させる特性を有するビューのモデルタイプのインスタンスとして各列を送信さ
最後に、これらのタイプのコレクションをコントローラアクションに投稿します。例えば
public class MyController : Controller
{
[HttpPost]
public ActionResult PostToMe(IList<RowModel> rows)
{
// do something with rows
}
}
をこのタイプを使用するための最良の方法は何ですかページという概念はありません。コントローラ、アクション、およびビューがあります。だからあなたが話しているのは、コントローラのアクションに情報を送るビューを持つ方法です。まあ、いくつかの方法があります。あなたは、グリッド内の特定の行を選択したい場合は、あなたが発生する可能性が
<% using (Html.BeginForm("TargetAction", "SomeController")) { %>
... some input fields, maybe in a grid, whatever
<input type="submit" value="GO" />
<% } %>
:一つは、このビューでHTML <form>
を生成する入力要素とそれを充填し、ターゲット・アクションにこのフォームのaction属性を指していることからなりますこのグリッドの各行にフォームを作成し、アイテムIDを非表示フィールドとして使用します。