C# listview中的异步按钮

C# listview中的异步按钮,c#,asp.net,C#,Asp.net,所以基本上我正在创建我的单位项目,这是一个电子商务网站的过程。其中一个重要的功能是观察列表(例如:ebay中的观察列表) 现在我已经完成了db记录的设计,并成功地添加/删除了db记录,但困扰我的是页面是每个保存/单击的项目的延迟/页面发回。我尝试添加一个更新面板,但单击按钮时仍然有延迟 下面是我的代码副本 设计 <listview> <itemTemplate> ...... <asp:UpdatePanel ID="UpdatePanel2"

所以基本上我正在创建我的单位项目,这是一个电子商务网站的过程。其中一个重要的功能是观察列表(例如:ebay中的观察列表)

现在我已经完成了db记录的设计,并成功地添加/删除了db记录,但困扰我的是页面是每个保存/单击的项目的延迟/页面发回。我尝试添加一个更新面板,但单击按钮时仍然有延迟

下面是我的代码副本

设计

<listview>
   <itemTemplate>
   ...... 
    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
          <ContentTemplate>
                 <asp:LinkButton ID="lnkSaved" class="btn-icon btn-white btn-star btn-radius" runat="server" CausesValidation="false" CommandName="ToggleSave">
                   <span></span>
                   <asp:Label ID="lblSaved" runat="server" Text="Save Activity" AssociatedControlID="lnkSaved"></asp:Label>
                 </asp:LinkButton>
          </ContentTemplate>
          <Triggers>
                 <asp:AsyncPostBackTrigger ControlID="lnkSaved" />
          </Triggers>
    </asp:UpdatePanel>
    .......
    </itemtemplate>
</listview>

你们能给我一个方向吗?我该怎么做才能让用户在点击这个按钮时有一个流畅的体验(异步优先)

您可能希望在javascript/jquery中在客户端(浏览器端)执行操作,然后在后台同步更改,这样用户的感知是即时的,但缓慢的部分(http往返到服务器并将数据持久化到数据库)发生在“后台”

protected void ListViewActivities_ItemCommand(object sender, ListViewCommandEventArgs e)
    {
         HiddenField hdnisSaved = e.Item.FindControl("hdnisSaved") as HiddenField;
         HiddenField hdnActivityID = e.Item.FindControl("hdnActivityID") as HiddenField;
         LinkButton lnkSaved = e.Item.FindControl("lnkSaved") as LinkButton;
         Label lblSaved= e.Item.FindControl("lblSaved") as Label;
         Guid userID = new MembershipHelper().GetProviderUserKey(WebSecurity.CurrentUserId);

         if (Convert.ToBoolean(hdnisSaved.Value))
         {
             lnkSaved.Attributes.CssStyle.Clear();
             if(Convert.toboolean(hdnisSaved.Value))
               { 
                  lnkSaved.Attributes.Add("Class", "btn-icon btn-white btn-radius btn-star");
                  lblSaved.Text ="Save";
                }
             else
                {
                  lnkSaved.Attributes.Add("Class", "btn-icon btn-white btn-radius btn-starred");
                   lblSaved.Text ="Saved";
                }
             new CustomerDAC().ToggleSave(userID,      Convert.ToInt32(hdnActivityID.Value,hdnisSaved.Value));
         }
}