我有两个执行两个ajax调用的函数。如果我调用一个函数而不调用另一个函数 代码正常执行。但如果我同时调用它们两个,我会收到两条内部服务器错误消息。我认为每个功能都有一个。
这是我的代码:
$(document).ready(function(){
CategoryChangeState(@Model.CatId , subcategoryId);
SubategoryChangeState(@Model.SubcatId);
})
public ActionResult ReturnListOfSubcategories( FormCollection collection ) {
string categoryId = collection["result"];
var subcategories = ProductManagerHelperClass.ReturnSubcategories(categoryId);
return Json(subcategories);
}
public ActionResult ReturnListOfBrands() {
var brands = ProductManagerHelperClass.ReturnBrands();
return Json(brands);
}
function CategoryChangeState(value , editPage) {
.....
$.ajax({
type: "POST",
url: "/ProductManager/ReturnListOfSubcategories",
data: { result: value },
datatype: "json",
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
...
}
function SubategoryChangeState(value) {
....
$.ajax({
type: "POST",
url: "/ProductManager/ReturnListOfBrands",
datatype: "json",
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
....
}
为什么我会收到这些错误?如何解决?
修改
调试时我发现在这部分代码中:
public static Dictionary<string , string> ReturnSubcategories(string categoryId)
{
int catId = int.Parse(categoryId);
var subcategories = (from s in dataContext.SubCategories
where s.CatId == catId
select new
{
s.SubCatId,
s.SubCatName
}).ToDictionary(x => x.SubCatId.ToString(), x => x.SubCatName);
return subcategories;
}
linq查询抛出异常:
InvalidOperationException ExecuteReader requires an open and available Connection. The connection's current state is closed.
如果我同时调用两个函数
,则仅抛出此异常答案 0 :(得分:1)
那是因为你使用了一个静态类,你可以在其中(可能)建立与数据库的连接。 发生以下情况:
如果不使用静态类来实例化数据库连接,则不会发生这种情况。