Asp.net mvc ASP.NET MVC、jQuery/AJAX级联dropdownlist与LINQ2SQL之间的问题?
前提是: 根据第一个下拉列表中选择的值获取下拉列表的内容。 文本数据成功返回。 LINQ2SQL Datacontext上的LINQ查询失败 作为MVC/LINQ/jQuery方面的新手,我连续数小时努力找出我对代码的理解中的错误。当我硬编码我的值时,一切正常,但当我尝试查询LINQ2SQL datacontext时,各种各样的wierd事件开始发生,最后,当我将查询结果复制到一个新对象时,一切又开始正常了!请原谅我在LINQ方面缺乏语言能力,但我认为这与LINQ2SQL数据的“连通性”有关。当我创建另一个表示查询数据的列表时,一切都很好,但是如果我尝试使用查询数据本身,jQuery的世界就会分崩离析(而且也不会出错——这让我很难理解) 我基本上希望参考或解释LINQ2SQL的“连接性”,以及它是如何/为什么会成为问题的,尤其是在这些远程/异步调用情况下 请参阅下面的代码-希望它有意义&提前感谢:) 基本布局:Asp.net mvc ASP.NET MVC、jQuery/AJAX级联dropdownlist与LINQ2SQL之间的问题?,asp.net-mvc,linq-to-sql,jquery,Asp.net Mvc,Linq To Sql,Jquery,前提是: 根据第一个下拉列表中选择的值获取下拉列表的内容。 文本数据成功返回。 LINQ2SQL Datacontext上的LINQ查询失败 作为MVC/LINQ/jQuery方面的新手,我连续数小时努力找出我对代码的理解中的错误。当我硬编码我的值时,一切正常,但当我尝试查询LINQ2SQL datacontext时,各种各样的wierd事件开始发生,最后,当我将查询结果复制到一个新对象时,一切又开始正常了!请原谅我在LINQ方面缺乏语言能力,但我认为这与LINQ2SQL数据的“连通性”有关。当
<script type="text/javascript">
$(document).ready(function() {
$("#CaseTypeCategoryId").change(function() {
$.getJSON("/Cases/CaseNatures", { caseTypeCategoryId: $("#CaseTypeCategoryId option:selected").val() }, function(data) {
$("#CaseNatureId option").remove();
$("#CaseNatureId").fillSelect(data);
});
});
});
</script>
<p>
<label for="CaseTypeCategoryId">Case Type:</label>
<%= Html.DropDownList("CaseTypeCategoryId") %>
</p>
<p>
<label for="CaseNatureId">Case Nature</label>
<select id="CaseNatureId" name="CaseNatureId></select>
</p>
$(文档).ready(函数(){
$(“#CaseTypeCategoryId”).change(函数(){
$.getJSON(“/Cases/CaseNatures”,{caseTypeCategoryId:$(“#caseTypeCategoryId选项:选中”).val()},函数(数据){
$(“#CaseNatureId选项”).remove();
$(“#CaseNatureId”).fillSelect(数据);
});
});
});
案例类型:
案例性质
看-类似的问题。在句子中使用JsonRequestBehavior.AllowGet:
this.Json(_caseService.GetCaseNatures(caseTypeTypeCategoryId)
.ToList(),JsonRequestBehavior.AllowGet) 没有人能帮我找到一个很好的参考资料,让我了解LINQ2SQL的这些和类似的问题吗?太好了-我偶然发现了一个类似的解决方案!非常感谢。
SelectList() { new ListItem() { Text = "--Select A Case Nature--", Value = "" }}
public JsonResult CaseNatures(int caseTypeCategoryId)
{
return this.Json(_caseService.GetCaseNatures(caseTypeCategoryId)
.ToList());
}
public JsonResult CaseNatures(int caseTypeCategoryId)
{
List returnList = new List();
returnList.Add(new ListItem() { Text = "--Select A Case Nature--", Value = "" });
_caseService.GetCaseNatures(caseTypeCategoryId)
.ToList()
.ForEach(p => returnList.Add(new ListItem() { Value = p.CaseNatureId.ToString(), Text = p.CaseNatureText }));
return this.Json(returnList);
}