2012-10-09 53 views
0

我有一個帶下拉列表的webgrid,並將其更改爲回發頁面。我正在嘗試獲取下拉列表的選定值。MVC 3帶下拉列表的Webgrid,在回發中獲取選定的值

以下是我的控制器。

public ViewResult Index() 
      { 
       //var albums = db.Albums.Include(a => a.Artist).Include(a => a.Genre); 

       var model = new AlbumActionModel { Actions = new[] { new SelectListItem { Text = "Accept", Value = "Accept" }, new SelectListItem { Text = "Deny", Value = "Deny" } }, Albums = db.Albums.Include(a => a.Artist).Include(a => a.Genre) }; 
       return View(model); 
      } 

以下是我的看法。

<div> 
    @{ 
    WebGrid grid = new WebGrid(Model.Albums, defaultSort: "Title", selectionFieldName: "SelectedRow"); 
    } 
    @using (Html.BeginForm("Index", "Album", FormMethod.Post, new { id = "TheForm" })) 
    { 
    @grid.GetHtml(columns: grid.Columns(grid.Column("Edit", 
                format: @<text> @Html.ActionLink("Edit", "Edit", new { id = item.AlbumId })></text>), 
          grid.Column("AlbumId"), 
          grid.Column("Title"), 
          grid.Column("Action", 
             format: 
              @<span> 
              @{var index = item.AlbumId.ToString();} 
              @Html.DropDownList("Actions" +((string)index), Model.Actions, "--Select One--", new { onchange = "this.form.submit();" }) 
              </span>), 
          grid.Column("Delete", 
             format: @<text> @Html.ActionLink("Delete", "Delete", new { id = item.AlbumId })></text>))) 
</div> 

在此先感謝。

回答

0

在您的下拉列表請嘗試以下語句:

@Html.DropDownList("Actions" +((string)index), Model.Actions, "--Select One--",new { @onchange = "Submit(this.value);" }) 

現在,在您<script>標籤寫一個函數將其發佈到頁面

<script type="text/javascript"> 
    function Submit(e) 
    { 
    //write it to post to the controller using ajax 
    $.ajax({ 
        type: 'POST', 
        dataType: 'json', 
        url: '@Url.Action("Submit", "ControllerName")', 
        data: ({ value: e}), 
        success: function (result) { 
         //do something 
        } 
         , 
        error: function (result) { 
         //do something 
        } 
       }); 
    } 
</script> 

希望這有助於。

+0

對不起,但這不是我想要的。我真正想要的是在點擊提交按鈕後獲取所有選定的值。 (它可能來模型或以某種方式在任何地方)更多此功能無法正常工作。可能是我不能配置它,但它給了 我改變了(IEnumerable )item.AvailableDevices)與Model.Actions和找不到索引來自哪裏。 還是謝謝... – albatross

相關問題