在 C# 中单击 <a href> 对象时如何获取 ispostback=true

How to get ispostback=true when <a href> object is clicked in c#

我在 asp.net 4.5 中有 2 个如下所示的 href:

<a href="/Admin/<%= prevPage %>" role="button" ><i class="fa fa-left"></i></a>
<a href="/Admin/<%= nextPage %>" role="button" ><i class="fa fa-right"></i></a>

我在 page_load 在 c# 中有一些过程要做

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
       //loading data from db;
    }
}

当我点击这个 href 时,page_load 事件被触发并且 IsPostBack 为 false。因此,每当有人单击上一页或下一页 href 时,它就会一次又一次地加载数据,从而导致性能问题。我需要防止这种情况发生,这意味着我希望在单击 href link 后 IsPostBack = true。处理此问题的最佳方法是什么?

我试过使用onclientlick="return false;",没用。 我试过像下面那样使用 asp:button 和 asp:linkbutton,但没有用。

<asp:Button ID="btnPrev" runat="server" Text="left" OnClick="RedirectPreviousPage" />
protected void RedirectPreviousPage(object sender, EventArgs e)
{
   var prevPage = CurrentPage == 1 ? -1 : CurrentPage - 1;
   Response.Redirect("/Admin/" + prevPage);
}

最好的解决方案是什么?任何帮助或建议将不胜感激。我已经检查了很多以前的主题相关问题,但找不到适合我的案例的解决方案。抱歉,如果我造成重复。问候。

编辑:同样无效。

<script>
     function RedirectPreviousPage()
     {
          window.location.href = "/Admin/<%= prevPage %>";
     }
</script>
<a href="#" role="button" onclick="RedirectPreviousPage(); return false;" ><i class="fa fa-chevron-left"></i></a>

将这些链接按钮的 hrefs 更改为 "asp:LinkButton" 并将 AutoPostBack 属性 设置为 true 解决了我的问题。