正如您可以通过我的标题猜测,我正在从我的数据库(Microsoft SQL Server 2012)加载玩家到我的Players.aspx页面,当然每个玩家都有一张照片..
当我试图加载我的Players.aspx时发生了什么......?奇怪的错误正在一个接一个地发生,这真的很奇怪。
我会更详细地解释一下:
我同时加载100个玩家(仍然没有分页),这意味着我一次将100张照片加载到我的页面,所以我想我会阻止我的页面,这会导致问题,然后我改变了我的存储过程将我玩家从数据库返回到Select TOP (10)
所以我减少了应该加载到我的页面中的玩家数量,但问题一遍又一遍地重复,当我评论我所在的部分时得到图像,一切都运作良好,所以我真的不明白为什么会发生这种情况,以及为什么我的应用程序在我的图像加载其余属性时不断破解......
而且我不得不说每次都不会发生问题,例如我运行应用程序 - 击中F5 - DEBUG,一切都很好,我再做一次,繁荣热潮,等等......
这是我的代码 - Players.aspx -code页面,我正在为我的玩家加载照片。
public partial class Players : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
this.Form.DefaultButton = this.btnsearch.UniqueID;
if (!IsPostBack)
{
var currentClub = System.Web.HttpContext.Current.User.Identity.Name;
var currentClubID = System.Web.HttpContext.Current.User.Identity;
if (SecurityServices.IsAuthorized(currentClub) == true)
{
repeaterPlayers.DataSource = DAPlayers.SelectTop10Players(); //Before it was SelectALL()
repeaterPlayers.DataBind();
}
else
{
var club = DAPlayers.GetClubByName(currentClub);
repeaterPlayers.DataSource = DAPlayers.SelectPlayersByClubID(club.ClubID);
repeaterPlayers.DataBind();
}
}
}
catch
{
}
}
这里是Players.aspx
<table class="table table-hover" style="margin-top: 50px; background-color: white;">
<tr>
<th>FirstName</th>
<th>LastName</th>
<th>Photo</th>
</tr>
<asp:Repeater ID="repeaterPlayers" runat="server" OnItemCommand="repeaterPlayers_ItemCommand">
<ItemTemplate>
<tr>
<td><%# Eval("FirstName") %></td>
<td><%# Eval("LastName") %></td>
<td>
<asp:Image ID="imageTest" runat="server" style="width: 60px; height: 30px;" ImageUrl='<%#"~/ImageHandler.ashx?id="+Eval("PlayerID") %>'
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
正如我所说,如果我评论这部分,一切都会好起来的!我永远不会遇到任何错误!:(下面的代码,关于图片加载)
<asp:Image ID="imageTest" runat="server" style="width: 60px; height: 30px;" ImageUrl='<%#"~/ImageHandler.ashx?id="+Eval("PlayerID") %>'
这是我的ImageHandler.ashx代码:
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
int playerID = Convert.ToInt32(context.Request["id"]);
Player newPlayer =DAPlayers.GetByPlayerID(playerID);
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite(newPlayer.Photo);
}
public bool IsReusable
{
get
{
return false;
}
}
以下是我从数据库加载图片时遇到的问题:
我必须再说一遍,每次我试图将我的玩家加载到Players.aspx页面时都不会发生这种情况,但这种情况经常发生!
代码非常简单,所以我无法弄清楚为什么会发生这种情况,我们正在谈论数据库中的900个图像,但这不是我猜的原因,因为我尝试使用TOP 10 ALSO ....: ))
谢谢你们 欢呼声