我是mvc -实体框架的新手,我的模型是一个实体框架模型,我有一个与省表有关系的商务表,省表与国家表有关系。
所以,当我要创建一个Commerce时,我应该能够首先选择国家,然后选择属于这个国家的省份。
到目前为止,我已经成功地显示了国家和所有省份,但我不知道如何改变省份一旦一个国家被选中…
我看到的帖子中有一个解释,如何做这样的事情使用剃刀(我使用。net)创建一个模型(代码优先或类似的东西)
如果你能帮我的话,我将非常感激。
简短的回答是,您将返回并过滤省份,或者使用jQuery并动态地执行此操作。
我自己,我会回复…
使用Jquery将是这种情况的最佳解决方案。即使你还没有使用它。保存回发是值得的。这里有一个州(父)和县(子)关系的例子。
<asp:DropDownList ID="ddlState" runat="server">
</asp:DropDownList>
<br />
<asp:DropDownList ID="ddlCounty" runat="server">
</asp:DropDownList>
下面是实现级联下拉列表的jquery代码。
$(document).ready(function () {
$("#<%= ddlState.ClientID %>").change(function () {
var sourceddl = "<%= ddlState.ClientID %>";
var stateid = $("#<%= ddlState.ClientID %> option:selected").val();
var Stateid = { Stateid: stateid };
$.ajax({
type: 'POST',
url: 'CacheSample.aspx/GetCounties',
data: JSON.stringify(Stateid),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
if (data.d) {
var options = [];
if (result.d) {
for (var i = 0; i < result.d.length; i++) {
options.push('<option value="',
result.d[i].countyID, '">',
result.d[i].countyName, '</option>');
}
$("#<%= ddlCounty.ClientID %>").html(options.join(''));
}
}
},
error: function () {
alert("Error! Try again...");
}
});
});
});
我正在使用webmethod来为选定的州检索县。
[WebMethod]
public static County[] GetCounties(int Stateid)
{
County[] countiesArr = StatesCountyModel.GetCountyForState(Stateid).ToArray();
return countiesArr;
}
我想它应该对你有帮助。如果你是Jquery新手,请告诉我。你只需要在你的项目中包含几个javascript文件,你就可以使用这些代码。
Praveen