简体   繁体   中英

Refresh an asp.net page on button click

我需要在按钮点击时刷新页面而不增加点击计数器。

在代码背后重定向到同一页面。

Response.Redirect(Request.RawUrl);
  • Create a class for maintain hit counters

     public static class Counter { private static long hit; public static void HitCounter() { hit++; } public static long GetCounter() { return hit; } } 
  • Increment the value of counter at page load event

     protected void Page_Load(object sender, EventArgs e) { Counter.HitCounter(); // call static function of static class Counter to increment the counter value } 
  • Redirect the page on itself and display the counter value on button click

     protected void Button1_Click(object sender, EventArgs e) { Response.Write(Request.RawUrl.ToString()); // redirect on itself Response.Write("<br /> Counter =" + Counter.GetCounter() ); // display counter value } 

您可以执行Response.redirect("YourPage",false) ,它将刷新您的页面并增加计数器。

On button click you can try the following.

protected void button1_Click(object sender, EventArgs e)
{
     Response.Redirect("~/Admin/Admin.aspx");
}

And on PageLoad you can check whether the loading is coming from that button then increase the count.

       protected void Page_Load(object sender, EventArgs e)
         {
            StackTrace stackTrace = new StackTrace();
            string eventName = stackTrace.GetFrame(1).GetMethod().Name; // this will the event name.
            if (eventName == "button1_Click")
              {
                // code to increase the count;
              }
          }

Thanks

When you say refresh the page, its new instance of the page that you are creating so you need to either have a static variable/session variable or a method to store and retrieve the count of hits on your page.

As far as refreshing the page is concerned, Response.Redirect(Request.RawUrl); or window.location=window.location would do the job for you.

Page reload can be done using javascript code. Use either a HTML button and implement it like...

<input type="button" value="Reload Page" onClick="document.location.reload(true)">

  XmlDocument doc = new XmlDocument(); doc.Load(@"F:\\dji\\A18rad\\A18rad\\XMLFile1.xml"); List<vreme> vreme = new List<vreme>(); string grad = Request.Form["grad"]; foreach (XmlNode cvor in doc.SelectNodes("/vreme/Prognoza")) { if (grad == cvor["NazivMesta"].InnerText) vreme.Add(new vreme { mesto = cvor["NazivMesta"].InnerText, maxtemp = cvor["MaxTemperatura"].InnerText, mintemp = cvor["MinTemperatura"].InnerText, vremee = cvor["Vreme"].InnerText }); } return View(vreme); } public ActionResult maxtemperature() { XmlDocument doc = new XmlDocument(); doc.Load(@"F:\\dji\\A18rad\\A18rad\\XMLFile1.xml"); List<vreme> vreme = new List<vreme>(); foreach (XmlNode cvor in doc.SelectNodes("/vreme/Prognoza")) { vreme.Add(new vreme { mesto = cvor["NazivMesta"].InnerText, maxtemp = cvor["MaxTemperatura"].InnerText }); } return View(vreme); } } } @*@{ ViewBag.Title = "maxtemperature"; } @Html.ActionLink("Vreme Po izboru","index","home") <h2>maxtemperature</h2> <table border="10"> <tr><th>Mesto</th> <th>MaxTemp</th> </tr> @foreach (A18rad.Models.vreme vr in Model) { <tr> <td>@vr.mesto</td> <td>@vr.maxtemp</td> </tr> } </table>*@ @*@{ ViewBag.Title = "Index"; } @Html.ActionLink("MaxTemperature","maxtemperature","home") @using(Html.BeginForm("Index","Home")){ <h2>Index</h2> <span>Grad:</span><select name="grad"> <option value="Nis">Nis</option> <option value="Beograd">Beograd</option> <option value="Kopaonik">Kopaonik</option> </select> <input type="submit" value="Moze" /><br /> foreach (A18rad.Models.vreme vr in Model) { <span>Min temperatura:</span> @vr.mintemp<br /> <span>Max temperatura:</span> @vr.maxtemp<br /> if(vr.vremee =="Kisa"){ <span>Vreme:</span> <img src ="kisa.jpg" /> } else if(vr.vremee =="Sneg"){ <img src="sneg.jpg" /> } else if (vr.vremee == "Vedro") { <img src ="vedro.png" /><br /> } } }*@ 

Add one unique session or cookie in button click event then redirect page on same URL using Request.RawUrl Now add code in Page_Load event to grab that session or coockie. If session/cookie matches then you can knows that page redirected using refresh button. So decrease hit counter by 1 to keep it on same number do hitcountr -= hitconter

Else increase the hit counter.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM