0

私のViewModelには、いくつかのオブジェクト(IEnumerable)のコレクションが含まれています。コレクションのアイテムは、タグの行に表示されます。フォームを送信すると、それ自体を検証するために送信jQuery関数がトリガーされます。その表示されたテーブルから値を取得し、オブジェクトに変換する必要があります。

これをチェックしてください:

//
// the table to display my collection content
<div id="publications">
    Items to publish:

    <table>
        <thead><tr>
            <td></td>
            <td>Item</td>
        </tr></thead>

        <tbody>
            @{
                for (int counter = 0; counter < Model.Publications.Count; ++counter)
                {
                    <tr>
                        <td>
                            @Html.HiddenFor(m => Model.Publications[counter].ID)
                            @Html.CheckBoxFor(m => Model.Publications[counter].Selected)
                        </td>
                        <td>
                            @Html.HiddenFor(m => Model.Publications[counter].ItemID)
                            @Html.DisplayTextFor(m => Model.Publications[counter].ItemDescription)
                        </td>
                    </tr>
                }
            }
        </tbody>
    </table>
</div>

//
// The Publication ViewModel
public class PublicationViewModel {
    public string ID { get; set; }
    public bool Selected { get; set; }
    public string ItemID { get; set; }
    public string ItemDescription { get; set; }
}

//
// The main ViewModel
public class MainViewModel {
    public string ID { get; set; }
    public string Name { get; set; }
    public IEnumerable<PublicationViewModel> Publications { get; set; }
}

問題は、そのテーブルをjQueryを使用してシリアル化されたオブジェクトに変換する方法です。どうもありがとうございました!


PHP IMAPメールボックス処理-MessageNoでループしますか?

簡単な質問ですが、どこにも確かな答えが見つからないようです。PHP IMAPを使用してメールボックス内のメッセージを処理していますが、imap_num_msgに基づくループを使用してメッセージを処理しています。

$imap = imap_open("{imap.test.com:143}INBOX", "test@test.com", "password");
$message_count = imap_num_msg($imap);
for ($i = 1; $i <= $message_count; ++$i) 
{ "Processing Code using $i" }
imap_expunge($imap);
imap_close($imap);

これは正しい処理方法ですか、それともメッセージごとにUIDの配列をフェッチする必要がありますか?このコードに固執すると、新しいメッセージが届いたときに何が起こりますか?メッセージの順序が変更され、ループに影響しますか?

4

1 に答える 1

1

コードを a 内に配置し、 Jquery serialize<form>を使用します。

<form id="publications">
    Items to publish:

    <table>
        <thead><tr>
            <td></td>
            <td>Item</td>
        </tr></thead>
            <tbody>
            @for (int counter = 0; counter < Model.Publications.Count; ++counter)
            {
                <tr>
                    <td>
                        @Html.HiddenFor(m => Model.Publications[counter].ID)
                        @Html.CheckBoxFor(m => Model.Publications[counter].Selected)
                    </td>
                    <td>
                        @Html.HiddenFor(m => Model.Publications[counter].ItemID)
                        @Html.DisplayTextFor(m => Model.Publications[counter].ItemDescription)
                    </td>
                </tr>
            }
        </tbody>
    </table>
</form>

そしてあなたのjQueryスクリプト:

$('form').submit(function() {
    alert($(this).serialize());
    return false;
});
于 2013-01-23T13:29:07.330 に答える