1

私はテーブルを持っています:

    <table id="selectedInv">
        <thead>
            <tr class="alternate">
                <th>
                    Barcode
                </th>
                <th>
                    OverAll Count
                </th>
                <th>
                    Transfer Count
                </th>
            </tr>
        </thead>
        <tbody>
           <tr class="1">
                <td> 2323 </td><td> 9 </td><td><input type="text" value="3"></td></tr>
           <tr class="2">
                <td> 2329 </td><td> 5 </td><td><input type="text" value="2"></td></tr>
           <tr class="3">
                <td> 2329 </td><td> 3 </td><td><input type="text" value="1"></td></tr>
        </tbody>
    </table>

ボタンをクリックした後、次のようなデータを収集したい

[{1,3},{2,2},{3,1}]

どこで

[{a,b}] a=行のクラス名、b=この行の入力テキスト値。

そして、このデータをアクションメソッドに投稿します。これを行う最良の方法は何ですか?

4

1 に答える 1

3

私が見るように、uには各行からデータを収集するための2つのフィールド、つまりクラスと転送カウントがあります。私はそれのためのビューモデルを次のように作ります

public class ViewModel
{
    public int CodeClass{get;set;} //class is reserved word
    public int TransferCount{get;set;}
}

私の見解では、次のhtmlを作成するループを作成します

<table id="selectedInv">
        <thead>
            <tr class="alternate">
                <th>
                    Barkod
                </th>
                <th>
                    OverAll Count
                </th>
                <th>
                    Transfer Count
                </th>
            </tr>
        </thead>
        <tbody>
           <tr class="1">
                <td> 2323 </td><td> 9 </td><td><input name="data[0].TransferCount" type="text" value="3"><input type="hidden" value = "1" name = "data[0].CodeClass"/></td></tr>
           <tr class="2">
                <td> 2329 </td><td> 5 </td><td><input type="text" value="2" name="data[1].TransferCount"><input type="hidden" value = "1" name = "data[1].CodeClass"/></td></tr>
           <tr class="3">
                <td> 2329 </td><td> 3 </td><td><input type="text" value="1" name="data[2].TransferCount"><input type="hidden" value = "1" name = "data[2].CodeClass"/></td></tr>
        </tbody>
    </table>

フォームをインデックスメソッドに投稿するとします。それは次のようになります

public ActionResult index(IEnumerable<ViewModel> data)
{
 //do something with data
}

フォームを投稿するための送信ボタンを忘れないでください。詳細については、この記事
を読んでください。 次の検索もあなたに良いことがわかります

于 2012-04-10T10:52:28.180 に答える