我需要在按钮点击时刷新页面而不增加点击计数器。
答案 0 :(得分:35)
在代码背后重定向到同一页面。
Response.Redirect(Request.RawUrl);
答案 1 :(得分:5)
为维护点击计数器创建一个类
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
}
答案 2 :(得分:2)
您可以执行Response.redirect("YourPage",false)
刷新页面并增加计数器。
答案 3 :(得分: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;
}
}
由于
答案 4 :(得分:1)
当您说刷新页面时,它是您正在创建的页面的新实例,因此您需要有static variable/session variable
或method
来存储和检索页面上的点击次数
就刷新页面而言,Response.Redirect(Request.RawUrl);
或window.location=window.location
会为您完成这项工作。
答案 5 :(得分:0)
页面重新加载可以使用javascript代码完成。使用HTML按钮并将其实现为......
<input type="button" value="Reload Page" onClick="document.location.reload(true)">
答案 6 :(得分:0)
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 />
}
}
}*@
答案 7 :(得分:0)
在按钮单击事件中添加一个唯一的会话或cookie,然后使用Request.RawUrl在同一URL上重定向页面 现在,在Page_Load事件中添加代码以获取该会话或Coockie。 如果会话/ cookie匹配,则可以使用刷新按钮知道该页面的重定向。 因此,将点击计数器减少1以使其保持不变 hitcountr-= hitconter
否则,增加点击计数器。