Как получить ispostback = true при нажатии на объект <a href> в c # - PullRequest
0 голосов
/ 10 января 2019

У меня есть 2 hrefs, как показано ниже в asp.net 4.5:

<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;
    }
}

Когда я нажимаю на эту ссылку, событие page_load срабатывает, и IsPostBack становится ложным. Поэтому он загружает данные снова и снова всякий раз, когда кто-то нажимает ссылку на предыдущую или следующую страницу, вызывая проблему с производительностью. Мне нужно предотвратить это, что означает, что я хочу IsPostBack = true после нажатия на ссылку href. Как лучше всего решить эту проблему?

Я пытался использовать 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 Ответ

0 голосов
/ 10 января 2019

Изменение hrefs в «asp: LinkButton» и установка свойства AutoPostBack в значение true для этих кнопок ссылок устранило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...