在c#中单击<a href>对象时如何获取ispostback = true
Posted
技术标签:
【中文标题】在c#中单击<a href>对象时如何获取ispostback = true【英文标题】:How to get ispostback=true when <a href> object is clicked in c# 【发布时间】:2019-06-04 17:23:23 【问题描述】:我在 asp.net 4.5 中有 2 个如下链接:
<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>
我在 c# 中的 page_load 中有一些过程要做
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
//loading data from db;
当我点击这个 a href 时,会触发 page_load 事件,并且 IsPostBack 为 false。因此,每当有人单击上一页或下一页 href 时,它就会一次又一次地加载数据,从而导致性能问题。我需要防止这种情况发生,这意味着在单击 href 链接后我希望 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>
【问题讨论】:
【参考方案1】:将 href 更改为“asp:LinkButton”并将这些链接按钮的 AutoPostBack 属性设置为 true 解决了我的问题。
【讨论】:
如果您不必发布任何数据,那么您可以避免所有这些 - 以及它的糟糕设计。除非您确实发布了一些数据以上是关于在c#中单击<a href>对象时如何获取ispostback = true的主要内容,如果未能解决你的问题,请参考以下文章