0

我有一个带有下拉列表的视图,基于我想从 sql server 中的表中检索记录的下拉列表值的选择。为此,我编写了一个存储过程,其中 DDL 选择的值作为输入参数,要从表中检索的记录作为输出参数。如何在 MVC 中提供输入参数值并检索输出参数值的集合以及如何在 MVC 的视图中显示输出参数值

4

1 回答 1

0

我可以给你一个例子来理解你可以实现你的要求的方式。

假设您有一个视图,其中有一个选择州和一个选择具有这种结构的城市:

@Html.DropDownListFor(m => m.MyStateId, Model.MyStatesList, new { id = "ddlStates" })
@Html.DropDownListFor(m => m.MyCityId, Model.MyCitiesList, new { id = "ddlCities" })

您可以根据所选状态检索城市,如下所示:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetCities(int stateId)
{
    var myRepository = new Repository();
    var citiesList = myRepository.GetCities(stateId);

    return Json(citiesList);
}

您想在选择某些状态时流行 Cities select,为此您可以使用jQuery(我将在接下来展示)或任何其他 javascript 库来构建 Ajax 调用,您也可以使用纯 javascript。Ajax 将调用定义的操作并以这种方式使用结果填充目标选择(城市):

$(document).ready(function() {
    $('#ddlStates').change(function(){
        var stateId = $('#ddlStates').val();
        $.ajax({
            type: "POST",
            url: "/Controller/GetCities",
            data: "{stateId: '" + stateId + "'}",
            dataType: "json",
            success: function(response) {
                var mySelect = $('#ddlStates')

                        $.each(response, function(val, text) {
                            mySelect.append(
                                $('<option></option>').val(val).html(text)
                            );
                         });
                     }
            });
    });
});

我给你的这个例子的目的是触及你的需求的表面,但是你必须处理你从动作返回的数据转换,你填充目的地选择的方式和其他你在实际实现中可能面临的问题.

无论如何,希望对您有所帮助。

于 2013-08-21T07:29:51.700 回答