2
我的MVC 4网站使用jQuery Ajax来更新我网站的部分,我的网站主要用于修改底层SQL数据库中的信息。我的问题是,即使在本地运行服务器,服务器也不会返回PartialView。MVC网站随机不返回PartialView
我在Windows 8上使用Visual Studio 2012,并在Azure平台上运行服务器。
我应该改写关于服务器没有返回它的部分,因为在19秒后,客户端重试获取数据,并且它通常成功,但它返回两次(只呈现一次),并且每个返回都包含相同的数据(因为它应该)。虽然该网站仍然有效,但延迟19秒是问题所在。
- /Trace.axd没有发现任何问题,超过19秒的等待 和状态码200
- 数据库连接是否正常,服务器达到 结束其他的代码在那里将PartialView返回给渲染器。
- 尝试通过浏览器中的链接 直接调用部分视图会发生同样的问题。
- 它平均每20次调用一次(至少在我在本地测试它时 )。
- Chrome开发者工具显示它获取13个字节的数据(我认为它是头),然后等待19秒,最终接收完全数据两次。
我的想法是,无论是我的配置,或与返回PartialViews的基本问题,虽然大多数时候该网站运行的很好。
如果我可以得到关于调试这个错误的下一步的一些线索,或者对这个问题有一个很好的理论,那会很好。
最善良的问候
迈克尔(D3vinno)从控制器
public ActionResult _List_Product() {
Database db = new Database(Session["database"] as string);
db.Connect();
DataTable dataTable = null;
using (SqlCommand command = db.GetSqlConnection().CreateCommand()) {
command.CommandText = string.Format("SELECT [product].[id], [product].[title] FROM [product]");
SqlDataReader sdr = command.ExecuteReader();
dataTable = new DataTable { TableName = "product" };
if (sdr != null) {
dataTable.Load(sdr);
}
}
db.Close();
return PartialView(dataTable);
}
而且例如图
@model System.Data.DataTable
@{
string type = "_Product";
}
<p>
<button class="btn span8" onclick="SetContent('@type', 'new')">New</button>
</p>
<table class="table row-fluid table-condensed" data-provides="rowlink">
@foreach (System.Data.DataRow item in Model.Rows) {
<tr id="[email protected]["id"]">
<td id="[email protected]["id"]">
<b> @item["title"] </b>
</td>
<td>
<button class="btn pull-right" onclick="SetContent('@type',@item["id"])">Edit</button>
</td>
</tr>
}
</table>