2013-02-23 20 views
0

也許標題不太清楚。如何使用AJAX獲取List的當前項目?

想象一下,我在剃刀視圖中有兩列。

其中的一列顯示以下列表。

@for (int i = 0; i < questions.Length; i++) { 
     <tr> 
      <td><span>@i</span>.</td> 
      <td class="questionText">@Html.ActionLink(questions[i].QuestionText, "AddItemToAssignmentContent", new { itemId = "Q" + questions[i].Id }) 
     </tr> 
    } 

正如你所看到的,每個人都有一個url。

然後,第二列被稱爲SelectedItems,這是當你在第一列鏈接clic中添加項目到第二列。

我想用Ajax做這件事,但直到現在我不知道如何實現它。

這是行動。

public ActionResult AddItemToAssignmentContent(string itemId) 
    { 
     var list = Session["SelectedItems"] as List<CreateAssignmentSelectedItem>; 

     CreateAssignmentSelectedItem item = new CreateAssignmentSelectedItem(); 
     item.Id = itemId; 
     item.Display = itemId; 
     item.Quantity = 5; 

     list.Add(item); 

     return PartialView("_SelectedAssignmentContent", list); 
    } 

我錯過了什麼,或者我應該如何使用AJAX將項目添加到第二列?

回答

0

這樣做的一種方法是定義一個javascript函數,該函數會在執行鏈接的點擊事件時調用。該功能將通過AJAX請求發送異步控制器動作,得到的結果(部分圖)和填充DIV

嘲笑了功能

function addQuestionToList(questionId){ 
    var linkToControllerAction = ‘@Url.Content(….)’ 

    $.ajax({ 
     url: linkToControllerAction, 
     type: ‘post’, 
     data: { ‘itemId’: questionId } 
    }).done(function(partialViewResult){ 
     $(‘#divHostingThePartialView’).html(partialViewResult); 
    }); 
} 

和吊鉤此功能的每個TR click事件,這表明問題的名稱,取代你的行動鏈接

相關問題