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