2012-01-17 1 views
0

私はmvcとjqueryを学習しています。 Requirmeent => "Categroies"があります。各カテゴリには、「タスク」のリストがあります。ユーザーは、「タスク」をドラッグドロップしてデータベースに保存することができます。PartialViewResultでMVCフォームを送信すると、PartialViewResultにデータが投稿されません

私が働いている形式は、次の

  1. 要素に表示されるカテゴリのリストが含まれています。ユーザがリストアイテムを選択すると、 が「タスク」のリストを取得するためにajaxリクエストが行われます。
  2. リストに表示されるタスクのリスト。
  3. ボタン
  4. は変更

私は、カテゴリを表示するタスクを取得し、頼るなど、すべての機能を実装することができる午前を保存します。しかし、保存部分は機能しません。フォームの投稿時に、FormCollectionのタスクのデータは表示されません。

ここはhtmlです。

@using (Html.BeginForm("Settings", "Settings", FormMethod.Post, new { id = "formSettings" })) 
{ 
<div style="width: 100%; background-color: Aqua; vertical-align: top"> 
    <div style="width: 50%; text-align: right; vertical-align: top; float: left; display: block; 
     height: 300px;"> 
     <select id="listSettings" name="listSettings" style="width:200px;height:280px;text-align:left;" size="@Model.Categories.Count()" data-tasks="@Url.Action("GetTasks", "Settings", new { })"> 
      @foreach (string category in @Model.Categories) 
      { 
       <option title="category" value="@category">@category</option> 
      } 
     </select> 
    </div> 
    <div id="taskListId" style="display: block; width: 30%; float: left; height: 300px;"> 
     This will be replaced 
    </div> 
</div> 
<div style="text-align: center; width: 100%"> 
    <input type="submit" id="btnSubmit" title="Save" value="Save" /> 
</div> 
} 

<div id="taskListId".../>は、上記のサーバへのAJAX呼び出しによって置き換えられます。ここでするPartialViewResult HTMLフォームが送信され

<div id="taskListId" style="display: block; width: 30%; float: left; height: 300px;"> 
    <ul id="sortable" style="height: 280px;"> 
     @foreach (string s in Model) 
     { 
      <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>@s</li> 
     } 
    </ul> 
</div> 

、なぜそれがFormCollectionがちょうど1つのキー「listSettings」を含むが、「ソート可能」ではないですか?

私が間違っているかどうか教えてください。

ありがとう、 Ravi。

答えて

0

私はそれを行う方法を考え出しました。実際にフォームの投稿には<ul>のデータは含まれません。 <ul>には名前属性が付加されていません。私はフォームのポストデータで見つけることはできません。

jqueryを使用して<ul><li>のアイテムを見つけてフォームの投稿データに名前の値のペアとして添付して問題を解決しました。それから、私はajaxを使ってデータを投稿しました。

関連する問題