2014-01-14 26 views
0

我有一個mvc剃鬚刀的形式。我想要的是從「物品」下拉列表中提交用戶的選擇,並導航到「詳細信息」視圖以訪問所選物品的信息。如何從下拉列表中獲取所選值並將其提交到我的Details視圖?

目前,當我點擊提交按鈕,我成功導航到詳細信息視圖,但絕對沒有數據顯示那裏。

選擇的值必須從項目下拉是我建立使用jQuery在我看來列表...

正如你可以看到我試圖用「ItemsID」但我得到的是空當檢查brakepoint我的詳細信息視圖。

你能幫我嗎?

查看:

@using (Html.BeginForm("Details", "Bookings", FormMethod.Post)) 
{ 
<fieldset> 
    <legend> Type/Item</legend> 
    <label for="Items">Item Types </label> 
    @Html.DropDownList("department", ViewBag.ItemTypesList as SelectList, "Select a Type", new { id = "ItemTypeID" }) 
    <div id="ItemsDivId"> 
     <label for="Items">Items </label> 
     <select id="ItemsID" name="Items"></select> 
    </div> 
    <p> 
     <input type ="submit" value="Submit" id="SubmitID" /> 
    </p> 
</fieldset> 
} 


    <script type="text/javascript"> 

     $('#ItemTypeID').on('change', function() { 
      $.ajax({ 
       type: 'POST', 
       url: '@Url.Action("GetItemTypeForm")', 
      data: { itemTypeId: $('#ItemTypeID').val() }, 
      success: function (results) { 
       var options = $('#ItemsID'); 
       options.empty(); 
       options.append($('<option />').val(null).text("- Select an Item -")); 
       $.each(results, function() { 
        options.append($('<option />').val(this.ItemsID).text(this.Value)); 
       }); 
      } 
     }); 
    }); 
</script> 

控制器:

public ActionResult Details(string ItemsID) 
     { 
      var item = db.Items.Find(ItemsID); 

      return View(item); 
     } 

[HttpPost] 
     public JsonResult GetItemTypeForm(string itemTypeId) 
     { 
      //pseudo code 
      var data = from s in db.Items 
         where s.ItemType.ItemTypeName == itemTypeId 
         select new { Value = s.ItemName, ItemsID = s.ItemId }; 


      return Json(data); 
     } 

回答

0

謝謝大家的期待,

正確的答案是使用 「項目」

相關問題