gpt4 book ai didi

asp.net-mvc-4 - MVC 站点随机不返回 PartialView

转载 作者:行者123 更新时间:2023-12-02 07:31:47 25 4
gpt4 key购买 nike

我的 MVC 4 站点使用 jQuery Ajax 来更新我的站点的部分内容,并且我的站点主要用于修改底层 SQL 数据库中的信息。我的问题是,即使在本地运行服务器,服务器也不会随机返回 PartialView。

我在 Windows 8 上使用 Visual Studio 2012,并在 Azure 平台上运行服务器。

我应该重新表述关于服务器不返回它的部分,因为19秒后,客户端重试获取数据,通常会成功,但它返回两次(仅渲染一次),并且每次返回都保持相同数据(理应如此)。尽管该网站仍然可以运行,但 19 秒的延迟是问题所在。

  • /Trace.axd 除了 19 秒的等待之外没有显示任何问题和状态代码 200。
  • 数据库连接正常,服务器到达末尾将 PartialView 返回给渲染器的代码。
  • 尝试通过链接直接调用 PartialView 时也会出现同样的问题在浏览器中。
  • 平均每 20 个调用就会发生一次(至少在我在本地进行测试)。
  • Chrome 开发者工具显示它获取了 13 个字节的数据(其中我假设是标题),之后它等待 19 秒,然后最终两次收到完整数据。

我的想法是,要么我的配置存在潜在问题,要么返回 PartialViews 存在潜在问题,尽管大多数时候网站运行得很好。

如果我能得到一些关于调试此错误的下一步行动的线索,或者对该问题的一个好的理论,那就太好了。

最诚挚的问候

迈克尔(D3vinno)

Controller 的示例代码

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);
}

和示例 View

@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="show-@item["id"]">
<td id="search-@item["id"]">
<b> @item["title"] </b>
</td>
<td>
<button class="btn pull-right" onclick="SetContent('@type',@item["id"])">Edit</button>
</td>
</tr>
}

</table>

最佳答案

部分 View 看起来没有任何问题。如果您对此有疑问,请发送一些静态数据而不是访问数据库。

最好的选择是选择查询中的前 3 行并查找输出。

我想这会给解决方案提供一些方向!

关于asp.net-mvc-4 - MVC 站点随机不返回 PartialView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17426326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com