0

現在ウェブグリッドを使用しています

@{
                    var DB = Database.Open("CHAVI");
                    var grid = new WebGrid(DB.Query("SELECT [FileTrackingTag], FileID FROM (SELECT [FileTrackingTag], FileID, ROW_NUMBER() OVER (PARTITION BY [FileTrackingTag] ORDER BY FileID) rn FROM [dbo].[MasterSequence]) t WHERE rn=1 ORDER BY [FileTrackingTag]"));
                    @grid.GetHtml(
                        tableStyle: "webgrid",
                        columns: grid.Columns(
                            grid.Column(header: "Assign? ", style: "labelcolumn",
                                    format:
                                        @<text><input class="check-box" id="assignChkBx" name="assignChkBx" type="checkbox" value="@item.FileTrackingTag" onchange='handleChange(this);'  /></text>),
                            grid.Column("FileTrackingTag", "FileTrackingTag")
                            )
                    )
                 }

そして、私は隠されたフィールドを持っています

@Html.HiddenFor(m => m.MyHiddenDict)

私のモデルから

public Dictionary<string, string> MyHiddenDict = new Dictionary<string, string>();

チェックボックスがオンになっているかどうかに基づいて辞書に追加または削除するjavascript関数が必要です。私の最初のアプローチは、コンマで区切られた文字列に追加することでした。ただし、ユーザーがチェックボックスのクリックを解除した場合、元に戻す方法はありません。助言がありますか?

4

1 に答える 1

0

ユーザーに1つのページからのみ選択するように強制する必要があることがわかりました。そうでない場合は、sessionstateにリストを作成し、webgridページを呼び出すときにすでに使用したページをチェックしてください。

于 2013-01-18T15:31:42.480 に答える