我想做的事:
我想实现一个gridview,用户可以在其中选择行并将所选行中单元格的文本显示在要编辑的页面上的多个文本框中。我还希望根据所选行中的文本更新图像。
我现在是怎么做的:
目前,我正在使用在此处找到的自定义可点击 gridview 控件。本质上,自定义控件会在单击行中的任意位置时导致回发,并提供一个“OnRowClicked”事件,我可以附加一个事件处理函数。在这个函数中,我将 rowindex 保存在视图状态中,然后使用如下代码:
protected void GridViewClicked(object sender, GridViewRowClickedEventArgs e){
TextBox1.Text = System.Net.WebUtility.HtmlDecode(e.Row.Cells[0].Text);
}
在文本框和代码中填充文本,如:
string filepath = "~/Bitmaps/" + TextBox1.Text + ".bmp";
if (File.Exists(Server.MapPath(filepath)))
{
bitmap.ImageUrl = filepath;
}
else
{
bitmap.ImageUrl = "~/Bitmaps/NoImage.bmp";
}
根据单击的行更新我网页上的图像(最大大小 500kb)。
所以有什么问题?
好吧,一切都在正常运行。但是,问题是每次单击行在鼠标单击发生和字段/图像更新(约 0.5 秒)之间都有明显的延迟,这很烦人。但是,我不知道我可以做些什么来提高性能,或者即使这是代码或托管服务的问题。因此,我要问的是,所经历的延迟是可以修复的,还是我必须处理的?或者也许我以一种非常低效的方式实现了这个解决方案?任何输入表示赞赏。