C# 在asp.net C中,更新面板内的链接按钮的响应太晚#
当我点击Flag按钮时,所有要通过按钮点击执行的操作都工作得很好,但要在屏幕上显示效果几乎需要7-8秒 我的Asp.net代码:C# 在asp.net C中,更新面板内的链接按钮的响应太晚#,c#,jquery,asp.net,updatepanel,repeater,C#,Jquery,Asp.net,Updatepanel,Repeater,当我点击Flag按钮时,所有要通过按钮点击执行的操作都工作得很好,但要在屏幕上显示效果几乎需要7-8秒 我的Asp.net代码: <asp:ScriptManager runat="server" EnablePartialRendering="true" ID="SC1"></asp:ScriptManager> <!-- Get Mile--> <div class="row"> <div
<asp:ScriptManager runat="server" EnablePartialRendering="true" ID="SC1"></asp:ScriptManager>
<!-- Get Mile-->
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-7">
<%-- <asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>--%>
<ul class="timeline-list">
<asp:Repeater runat="server" ID="repeater_post" OnItemDataBound="repeater_post_ItemDataBound" OnItemCreated="repeater_post_ItemCreated">
<ItemTemplate>
<li class="media media-clearfix-xs">
<div class="media-body">
<div class="media-body-wrapper">
<div class="panel panel-default ">
<asp:Image runat="server" ID="img_PostPic" ImageUrl='<%# GetImagePath(Eval("ImagePath").ToString()) %>' CssClass="img-responsive" Style="height: 200px !important; width: 526px !important" />
<%--<asp:Image runat="server" ID="Image1" ImageUrl='<%# GetMood(Eval("Mood").ToString()) %>' class="pull-right" />--%>
<div class="view-all-comments">
<asp:UpdatePanel runat="server" ID="upd5" UpdateMode="Always">
<ContentTemplate>
<asp:LinkButton runat="server" CommandArgument='<%# Eval("PostID").ToString() %>' ID="lbtn_Flag" CssClass="btn btn-white" ToolTip='<%# GetAllFlagMember(Convert.ToString(Eval("PostID"))) %>' OnClick="lbtn_Flag_Click" Visible='<%# CheckFlag(Eval("PostID"))%>'>
<i class="fa fa-flag"></i>
</asp:LinkButton>
<asp:LinkButton runat="server" CommandArgument='<%# Eval("PostID") %>' ID="lbtn_Unflag" CssClass="btn btn-white" ToolTip='<%# GetAllFlagMember(Convert.ToString(Eval("PostID"))) %>' OnClick="lbtn_Unflag_Click" Visible='<%# CheckUnFlag(Eval("PostID"))%>'>
<i class="fa fa-flag"></i> Unflag
</asp:LinkButton>
<strong> <%# GetFlagCount(Eval("PostID").ToString())%> Flag</strong>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lbtn_Flag" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="lbtn_Unflag" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<%--<asp:LinkButton runat="server" ID="lbtnflagmember" CommandArgument='<%# Eval("PostID")%>' Text='<%# GetFlagCount(Eval("PostID").ToString())%>'></asp:LinkButton>--%>
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<div class="addthis_sharing_toolbox" style="float: right"></div>
<asp:LinkButton runat="server" CommandArgument='<%# Eval("Lat")+"$"+Eval("Long")+"$"+Eval("PostAutorID")+"$"+Eval("Destination") %>' ID="lbtn_MapCanvas" ToolTip="Map" OnClick="lbtn_MapCanvas_Click" CssClass="pull-right" CausesValidation="false"> <i class="fa fa-map-marker"></i> Navigate
</asp:LinkButton>
<asp:LinkButton runat="server" CommandArgument='<%# Eval("PostID")+"$"+Eval("Destination") %>' ID="lbtn_ReportAbuse" ToolTip="Report Abuse" OnClick="lbtn_ReportAbuse_Click" CssClass="pull-right"> <i class="fa fa-share-square-o "></i> Report Abuse
</asp:LinkButton>
</div>
</div>
</div>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
-
--%>
解渣
标志
--%>
导航
举报虐待
我在链接按钮上的C#后端代码是:
protected void lbtn_Flag_Click(object sender, EventArgs e)
{
//lbtn_Flag.Enabled = false;
//lbtn_Unflag.Enabled = true;
LinkButton btn = (LinkButton)sender;
int _PostId = Convert.ToInt32(btn.CommandArgument);
WStblFlag wsFlag = new WStblFlag();
string res = wsFlag.AddFlag(_PostId, Functions.ParseInteger(Convert.ToString(Session["ProfileID"])));
GetPost();
//UpdatePanel up = repeater_post.FindControl("upd5") as UpdatePanel;
//up.Update();
//UpdatePanel inner_rpt = (UpdatePanel)repeater_post.Items.FindControl("repeater_Comment");
}
/// <summary>
/// UnFlag the post
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtn_Unflag_Click(object sender, EventArgs e)
{
//lbtn_Flag.Enabled = true;
//lbtn_Unflag.Enabled = false;
LinkButton btn = (LinkButton)sender;
int _PostId = Convert.ToInt32(btn.CommandArgument);
WStblFlag wsFlag = new WStblFlag();
string res = wsFlag.UnFlagPost(_PostId, Functions.ParseInteger(Convert.ToString(Session["ProfileID"])));
GetPost();
}
受保护的无效lbtn\u标志\u单击(对象发送方,事件参数e)
{
//lbtn_Flag.Enabled=false;
//lbtn_Unflag.Enabled=真;
LinkButton btn=(LinkButton)发送方;
int _PostId=Convert.ToInt32(btn.CommandArgument);
wstblsflag wsFlag=新的wstblsflag();
string res=wsFlag.AddFlag(_PostId,Functions.ParseInteger(Convert.ToString(Session[“ProfileID]”));
GetPost();
//UpdatePanel up=repeater_post.FindControl(“upd5”)作为UpdatePanel;
//up.Update();
//UpdatePanel inner_rpt=(UpdatePanel)repeater_post.Items.FindControl(“repeater_Comment”);
}
///
///解开发条
///
///
///
受保护的无效lbtn\u取消延迟\u单击(对象发送方,事件参数e)
{
//lbtn_Flag.Enabled=true;
//lbtn_Unflag.Enabled=false;
LinkButton btn=(LinkButton)发送方;
int _PostId=Convert.ToInt32(btn.CommandArgument);
wstblsflag wsFlag=新的wstblsflag();
string res=wsFlag.UnFlagPost(_PostId,Functions.ParseInteger(Convert.ToString(Session[“ProfileID]”));
GetPost();
}
我已经尝试了很多方法来缩短响应时间,但都不会成功。。。
泰 这是7到8秒还是78秒?实际上需要20到23秒。我建议您对其进行分析-如果您没有/找到分析工具,请尝试逐行注释(从最深的嵌套代码开始,向外注释),直到找到最耗时的代码。谢谢@belwood当我将其上载到服务器时,它实际上工作正常