8

我需要在不增加点击计数器的情况下刷新按钮点击页面。

4

8 回答 8

41

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

Response.Redirect(Request.RawUrl);
于 2013-07-22T05:45:35.527 回答
6
  • 创建一个维护命中计数器的类

    public static class Counter
    {
           private static long hit;
    
           public static void HitCounter()
           {
              hit++;
           }
    
           public static long GetCounter()
           {
              return hit;
           }
    }
    
  • 在页面加载事件中增加计数器的值

    protected void Page_Load(object sender, EventArgs e)
    {
        Counter.HitCounter(); // call static function of static class Counter to increment the counter value
    }
    
  • 将页面重定向到自身并在按钮单击时显示计数器值

    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
    }
    
于 2013-07-22T06:31:39.540 回答
2

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

于 2013-07-22T04:35:49.583 回答
1

当您说刷新页面时,它是您正在创建的页面的新实例,因此您需要使用 astatic variable/session variable或 amethod来存储和检索页面上的点击次数。

就刷新页面而言,Response.Redirect(Request.RawUrl);或者window.location=window.location会为您完成这项工作。

于 2013-09-27T06:23:50.993 回答
1

单击按钮时,您可以尝试以下操作。

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

在 PageLoad 上,您可以检查加载是否来自该按钮,然后增加计数。

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

谢谢

于 2013-07-22T05:26:08.913 回答
0

页面重新加载可以使用 javascript 代码完成。使用任何一个 HTML 按钮并像实现它一样......

<input type="button" value="Reload Page" onClick="document.location.reload(true)">
于 2013-07-22T05:18:28.753 回答
0

在按钮单击事件中添加一个唯一的会话或 cookie,然后使用 Request.RawUrl 在同一 URL 上重定向页面 现在在 Page_Load 事件中添加代码以获取该会话或 cookie。如果会话/cookie 匹配,那么您可以知道使用刷新按钮重定向的页面。因此,将命中计数器减少 1 以使其保持在相同的数字上做 hitcountr -= hitconter

否则增加命中计数器。

于 2019-07-10T12:59:41.307 回答
-1

  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 />
       }
}
    
   
        
        
}*@

于 2019-06-02T14:20:47.537 回答