.net速度慢,求解决方案

howtodown 2012-09-15 09:06:34
前台:

<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" CodeFile="jyxm.aspx.cs"
Inherits="Jybg_jyxm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" src="../js/jquery.js" type="text/javascript"></script>
<script language="javascript" src="../js/common.js" type="text/javascript"></script>
<script language="javascript" src="../js/jyxm.js" type="text/javascript"></script>
</head>
<body style="margin: 0;">
<script language="javascript" type="text/javascript">
//获得焦点
//如果是AutoComplete则设置相关内容
function GetFocus(Name) {
var TextName;
var AutoCompleteClientId;
var ContextKey;
var AutoCompleteName;
switch (Name) {
case "TextDw":
TextName = document.getElementById("<%=TextXm.ClientID %>");
ContextKey = "检验项目/单位" + "| and 项目='" + TextName.value + "'";
AutoCompleteClientId = "<%=TextDw_AutoCompleteExtender.ClientID %>";
AutoCompleteName = $find(AutoCompleteClientId);
if (AutoCompleteName != null)
AutoCompleteName.set_contextKey(ContextKey);
break;
case "TextBz":
TextName = document.getElementById("<%=TextXm.ClientID %>");
ContextKey = "检验项目/标准" + "| and 项目='" + TextName.value + "'";
TextName = document.getElementById("<%=TextDw.ClientID %>");
ContextKey = ContextKey + " and 项目单位='" + TextName.value + "'";
AutoCompleteClientId = "<%=TextBz_AutoCompleteExtender.ClientID %>";
AutoCompleteName = $find(AutoCompleteClientId);
if (AutoCompleteName != null)
AutoCompleteName.set_contextKey(ContextKey);
break;
case "TextJybz":
TextName = document.getElementById("<%=TextXm.ClientID %>");
ContextKey = "检验项目/检验标准" + "| and 项目='" + TextName.value + "'";
TextName = document.getElementById("<%=TextDw.ClientID %>");
ContextKey = ContextKey + " and 项目单位='" + TextName.value + "'";
AutoCompleteClientId = "<%=TextJybz_AutoCompleteExtender.ClientID %>";
AutoCompleteName = $find(AutoCompleteClientId);
if (AutoCompleteName != null)
AutoCompleteName.set_contextKey(ContextKey);
break;
case "TextPdbz":
TextName = document.getElementById("<%=TextXm.ClientID %>");
ContextKey = "检验项目/判定标准" + "| and 项目='" + TextName.value + "'";
TextName = document.getElementById("<%=TextBz.ClientID %>");
ContextKey = ContextKey + " and 项目标准='" + TextName.value + "'";
AutoCompleteClientId = "<%=TextPdbz_AutoCompleteExtender.ClientID %>";
AutoCompleteName = $find(AutoCompleteClientId);
if (AutoCompleteName != null)
AutoCompleteName.set_contextKey(ContextKey);
break;
if (GetId(Name).value == "") GetId(Name).value = GetId("HiddenPdbz").value;
break;
}
StatusTip(Name);
}
</script>
<form id="form1" runat="server">
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" ScriptMode="Release"
EnableScriptGlobalization="True">
</cc1:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" Visible="true">
<ContentTemplate>
<input id="HiddenUser" type="hidden" runat="server" />
<input id="HiddenConfig" type="hidden" runat="server" />
<div class="Head">
<asp:Panel ID="PanelSelect" runat="server">
分类:<asp:RadioButton ID="RadioButtonBgfl0" runat="server" GroupName="bgfl" Text="所有"
Checked="True" OnCheckedChanged="RadioButton_CheckedChanged" AutoPostBack="True" /></asp:Panel>
<div style="overflow: auto; width: 780px; height: 100px">
<asp:GridView ID="GridViewBgbh" runat="server" OnRowDataBound="GridViewBgbh_RowDataBound">
</asp:GridView>
</div>
<br />
报告编号:<asp:TextBox ID="TextBgbh" runat="server" MaxLength="9" Width="75px"></asp:TextBox>
<cc1:AutoCompleteExtender ID="TextBgbh_AutoCompleteExtender" runat="server" ContextKey="检验项目/报告编号"
TargetControlID="TextBgbh">
</cc1:AutoCompleteExtender>
<asp:Button ID="ButtonJyxmRead" runat="server" Text="读出" OnClick="ButtonJyxmRead_Click" />
 产品名称:<asp:TextBox ID="TextCpmc" runat="server" Width="160px" Enabled="False"></asp:TextBox>
 序号:<asp:TextBox ID="TextXh" runat="server" Width="30px" Enabled="True" Text="1"></asp:TextBox>
   <asp:Button ID="ButtonYlbz" runat="server" Text="查询已录标准" OnClick="FindBz"
Enabled="False" />
 <asp:Button ID="ButtonXsbg" runat="server" Text="查询相似报告" OnClick="FindBz" Enabled="False" />
<br />
项目:<asp:TextBox ID="TextXm" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ID="TextXm_AutoCompleteExtender" runat="server" CompletionInterval="100"
CompletionListCssClass="CompletionList" ContextKey="检验项目/项目" DelimiterCharacters=""
Enabled="True" MinimumPrefixLength="1" OnClientItemSelected="OnACEItemSelected"
ServiceMethod="GetSearchTerms" ServicePath="~/AutoCompleteService.asmx" TargetControlID="TextXm">
</cc1:AutoCompleteExtender>
 单位:
<asp:TextBox ID="TextDw" runat="server" Width="70"></asp:TextBox>
<cc1:AutoCompleteExtender ID="TextDw_AutoCompleteExtender" runat="server" CompletionInterval="100"
CompletionListCssClass="CompletionList" ContextKey="项目单位" DelimiterCharacters=""
Enabled="True" MinimumPrefixLength="1" ServiceMethod="GetSearchTerms" ServicePath="~/AutoCompleteService.asmx"
TargetControlID="TextDw">
</cc1:AutoCompleteExtender>
 标准:
<asp:TextBox ID="TextBz" runat="server"></asp:TextBox>
 <cc1:AutoCompleteExtender ID="TextBz_AutoCompleteExtender" runat="server" CompletionInterval="100"
CompletionListCssClass="CompletionList" ContextKey="项目标准" DelimiterCharacters=""
Enabled="True" MinimumPrefixLength="1" ServiceMethod="GetSearchTerms" ServicePath="~/AutoCompleteService.asmx"
TargetControlID="TextBz">
</cc1:AutoCompleteExtender>
<br />
检验标准:<asp:TextBox ID="TextJybz" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ID="TextJybz_AutoCompleteExtender" runat="server" CompletionInterval="100"
CompletionListCssClass="CompletionList" ContextKey="检验标准" DelimiterCharacters=""
Enabled="True" MinimumPrefixLength="1" ServiceMethod="GetSearchTerms" ServicePath="~/AutoCompleteService.asmx"
TargetControlID="TextJybz">
</cc1:AutoCompleteExtender>
 判定标准:<asp:TextBox ID="TextPdbz" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ID="TextPdbz_AutoCompleteExtender" runat="server" CompletionInterval="100"
CompletionListCssClass="CompletionList" ContextKey="判定标准" DelimiterCharacters=""
Enabled="True" MinimumPrefixLength="1" ServiceMethod="GetSearchTerms" ServicePath="~/AutoCompleteService.asmx"
TargetControlID="TextPdbz">
</cc1:AutoCompleteExtender>
<asp:TextBox ID="HiddenJyxmId" runat="server" CssClass="Hidden" Enabled="false" />
<asp:TextBox ID="HiddenPdbz" runat="server" CssClass="Hidden" Enabled="false" />
<asp:TextBox ID="HiddenBgbh" runat="server" CssClass="Hidden" Enabled="false" />
<asp:TextBox ID="HiddenRowIndex" runat="server" CssClass="Hidden" Enabled="false" />
 
<asp:Button ID="ButtonJyxmAdd" runat="server" Enabled="False" OnClick="SaveJyxmData"
Text="添加" />
 <asp:Button ID="ButtonJyxmEdit" runat="server" Enabled="False" OnClick="SaveJyxmData"
Text="编辑" />
 <asp:Button ID="ButtonJyxmInsert" runat="server" Enabled="False" OnClick="SaveJyxmData"
Text="插入" />
 <asp:Button ID="ButtonJyxmDelete" runat="server" Enabled="False" OnClick="SaveJyxmData"
Text="删除" />
<br />
</div>
<div class="Table">
<asp:GridView ID="GridViewJyxm" runat="server" OnRowDataBound="GridViewJyxm_RowDataBound">
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>






速度很慢,有人说是gridview的原因,有人说是sql的原因,但其他类似页面速度还可以,不知道是什么原因?
...全文
288 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq250525164 2014-09-04
  • 打赏
  • 举报
回复
是 ToolkitScriptManager1慢导致网页打开很慢,我在项目中测试过换成ScriptManager1就很快
howtodown 2012-09-17
  • 打赏
  • 举报
回复
找到解决办法了
ycproc 2012-09-15
  • 打赏
  • 举报
回复

。。。看都不想看这样的代码
Banianer 2012-09-15
  • 打赏
  • 举报
回复
你的SELECT 语句写在页面里,应该进行分层。
另外别一次从数据库取出所有数据,你数据多的话,会慢的一塌糊涂,甚至死机。
howtodown 2012-09-15
  • 打赏
  • 举报
回复
后台 :



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using StoredProcedure;
using JsFunction;
using WebFunction;
using Function;
public partial class Jybg_jyxm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["User"] != null)//cookic判断是否为空
{
HiddenUser.Value = HttpUtility.UrlDecode(Request.Cookies["User"].Value);
HiddenConfig.Value = FunCls.GetPost(HiddenUser.Value);
if (HiddenConfig.Value == "")
{
Response.Redirect("../error.aspx");
}
}
else
{
Response.Redirect("../error.aspx");
}
if (Request.QueryString["bgbh"] != null)//cookic判断是否为空
{
TextBgbh.Text = Request.QueryString["bgbh"];
}
else if (Request.Cookies["Bgbh"] != null)
{
TextBgbh.Text = HttpUtility.UrlDecode(Request.Cookies["Bgbh"].Value);
}
GridViewBgbhBind();
GridViewJyxmBind();
}
//设置JavaScript
SetJs();
SetBgfl();
//设置焦点
SetFocus("TextXm");
}
protected void SetJs()//设置js
{
JsCls.SetIsChangeJs(this.Controls);
JsCls.SetJmInputJs(TextBz);
JsCls.SetKeyInputJs(TextPdbz);
}
protected void SetText()//设置默认
{
//TextXm.Text = "";
//TextBz.Text = "";
//TextDw.Text = "";
ButtonJyxmInsert.Enabled = false;
ButtonJyxmDelete.Enabled = false;
ButtonJyxmEdit.Enabled = false;
SetFocus("TextXm");
}
protected void SetBgfl()//报告分类
{
string sql = "select distinct left(报告编号,5) as bgfl from ViewBgbh where 综合判定='/' and 报告编号 not in (select 报告编号 from ViewJyxm where 总项数>0) order by bgfl";
DataTable dt = SpCls.GetDt(sql);
for (int i = 0; i < dt.Rows.Count; i++)
{
RadioButton rb = new RadioButton();
rb.ID = "RadioButtonBgfl" + (i + 1).ToString();
rb.Text = dt.Rows[i]["bgfl"].ToString();
rb.GroupName = "bgfl";
rb.AutoPostBack = true;
rb.ForeColor = Color.ForestGreen;
PanelSelect.Controls.Add(rb);
rb.CheckedChanged += new EventHandler(RadioButton_CheckedChanged);
}
}
protected void GridViewBgbh_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onclick", "RowSelected('GridViewBgbh'," + (e.Row.RowIndex + 1).ToString() + ");");
e.Row.Attributes["style"] = "Cursor:hand";
}
e.Row.Cells[4].Style.Add("display", "none");
e.Row.Cells[5].Style.Add("display", "none");
}
protected void GridViewBgbhBind()
{
string sql = "select * from ViewBgbh where 综合判定='/' and 报告编号 not in (select 报告编号 from ViewJyxm where 总项数>0) ";
foreach (Control ctl in this.Page.FindControl("PanelSelect").Controls)
{
if (ctl is RadioButton)
{
RadioButton rb = (RadioButton)ctl;
if (rb.Checked)
{
switch (rb.ID)
{
case "RadioButtonBgfl0":
sql=sql+ " order by 报告编号";
break;
default:
sql=sql+ " and 报告编号 like '" + rb.Text + "%' order by 报告编号";
break;
}
}
}
}
//sql = "select * from ViewBgbh where 报告编号 like '%ck%'";
WebCls.GridViewBind(GridViewBgbh, sql);
}
protected void GridViewJyxm_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onclick", "RowSelected('GridViewJyxm'," + (e.Row.RowIndex + 1).ToString() + ");");
e.Row.Attributes["style"] = "Cursor:hand";
}
e.Row.Cells[0].Style.Add("display", "none");
e.Row.Cells[1].Style.Add("display", "none");
e.Row.Cells[3].Style.Add("display", "none");
e.Row.Cells[4].Style.Add("display", "none");
e.Row.Cells[8].Style.Add("display", "none");
e.Row.Cells[9].Style.Add("display", "none");
//e.Row.Cells[12].Style.Add("display", "none");
e.Row.Cells[13].Style.Add("display", "none");
e.Row.Cells[14].Style.Add("display", "none");
if (e.Row.RowIndex != -1)
{
if (e.Row.Cells[10].Text != "/")
{
e.Row.Cells[10].Text = "<a href=javascript:OpenPDF('" + e.Row.Cells[10].Text + "')>" + e.Row.Cells[10].Text + "</a>";
}
if (e.Row.Cells[11].Text != "/")
{
e.Row.Cells[11].Text = "<a href=javascript:OpenPDF('" + e.Row.Cells[11].Text + "')>" + e.Row.Cells[11].Text + "</a>";
}
e.Row.Cells[7].Text = Server.HtmlDecode(e.Row.Cells[7].Text);
}
}
protected void GridViewJyxmBind()
{
string sql = "select * from ViewJyxm where 报告编号='" + TextBgbh.Text + "' order by 序号";
WebCls.GridViewBind(GridViewJyxm, sql);
}
protected void ButtonJyxmRead_Click(object sender, EventArgs e)
{
GridViewJyxmBind();
if (GridViewJyxm.Rows.Count == 0)
{
ButtonYlbz.Enabled = true;
ButtonXsbg.Enabled = true;
}
else
{
ButtonYlbz.Enabled = false;
ButtonXsbg.Enabled = false;
}
}
protected void FindBz(object sender, EventArgs e)//查找已录标准或相似报告
{
var button = sender as Button;
switch (button.ClientID)//获得点击按钮的ID
{
case "ButtonXsbg":
Response.Redirect("bgcx.aspx?bgbh=" + TextBgbh.Text + "&bzh=" + HiddenPdbz.Text);
break;
case "ButtonYlbz":
Response.Redirect("../Bzgl/bzxz.aspx?bgbh=" + TextBgbh.Text + "&bzh=" + HiddenPdbz.Text);
break;
}
}
protected void SaveJyxmData(object sender, EventArgs e)//保存通讯录数据的修改
{
Int32 RowIndex = GridViewJyxm.Rows.Count;
string[] InputData = { "", "", "", "", "", "", "", "", "", "", "", "", "" };
InputData[0] = HiddenUser.Value;
InputData[1] = TextBgbh.Text;
InputData[2] = TextXh.Text;
InputData[3] = TextXm.Text;
InputData[4] = TextDw.Text;
InputData[5] = TextBz.Text;
InputData[6] = TextJybz.Text;
InputData[7] = TextPdbz.Text;
InputData[8] = HiddenJyxmId.Text;
var button = sender as Button;
switch (button.ClientID)//获得点击按钮的ID
{
case "ButtonJyxmAdd":
RowIndex = RowIndex + 1;
InputData[2] = "0";
InputData[8] = "0";
break;
case "ButtonJyxmDelete":
InputData[0] = "删除";
break;
case "ButtonJyxmEdit":
break;
case "ButtonJyxmInsert":
InputData[8] = "0";
break;
}
SpCls.SaveJyxmData(InputData);
GridViewJyxmBind();//保存修改日期及人员
}
protected void GridViewBgbh_PageIndexChanged(object sender, EventArgs e)
{
GridViewBgbhBind();
}
protected void GridViewBgbh_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridViewBgbh.PageIndex = e.NewPageIndex;
}
protected void RadioButton_CheckedChanged(object sender, EventArgs e)//选择类别
{
GridViewBgbhBind();
}
}
haojuntu 2012-09-15
  • 打赏
  • 举报
回复
代码太长了,不容易看啊
gzw13999 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
。。。看都不想看这样的代码


不学习如何进步?
[/Quote]

代码太乱了,怎么能用的比asp还乱呢。


还有 ,你可以把所有的SQL语句 拿进查询分析器测试执行速度。
howtodown 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
。。。看都不想看这样的代码
[/Quote]

不学习如何进步?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧