将数据绑定到'onfocus'事件的下拉列表中

时间:2012-03-28 08:22:23

标签: json asp.net-mvc-3 jquery razor

我想将下拉列表添加到webgrid并将其绑定在“onfocus”事件中,所以我尝试以下操作没有运气。 我的操作方法如下:

public ActionResult GetAllCont(){    
    List<Container> Lst = ContanierMgr.GetAllContainers();    
    return Json(Lst, JsonRequestBehavior.AllowGet);    
} 

JQuery方法如下:

$(document).ready(function() {
    $("#ContainersDDL").focus(function(event) {
        $.getJSON('@Url.Action("GetAllCont", "Home")', null, function(Containers) {
            var ContainerSelect = event.target.id;
            ContainerSelect.empty();
            $.each(Containers, function(index, container) {
                ContainerSelect.append($('<option/>', {
                    value : container.Id,
                    text : container.Code
                }))
            });
        });
    });
}); 

Index.cshtml代码如下:

@if (Model != null){    
    @grid.GetHtml(    
        columns: grid.Columns(    
            grid.Column("ID"),    
            grid.Column("Name"),    
            grid.Column("Contaniers", 
                header: "Containers", 
                format: @<span>  @Html.DropDownList("ContainersDDL", Enumerable.Empty<SelectListItem>(), "-- Select --")</span>
            )
        )    
    )
}

我在上面的代码中遇到两个问题:

1-如何将绑定到View的模型传递给j​​son,如下所示:$.getJSON('@Url.Action("GetAllCont","Home")', { Model : ???????? }, function (Containers)

2-当我使用上面的代码时,它只绑定到webgrid第一行的第一个下拉列表!!!!

先谢谢

0 个答案:

没有答案