2013-07-22 45 views
8

Tôi cần phải làm mới trang khi nhấp vào nút mà không tăng số lần truy cập.Làm mới trang asp.net trên nút bấm

+0

tại sao nó crappy qns.i chỉ đơn giản là yêu cầu rằng tôi không waant để tăng truy cập hit của tôi trong khi làm mới trang trên nút bấm. – VimalSingh

+0

vâng câu hỏi của tôi không được định dạng đúng .i cũng sẽ dán mã của tôi. – VimalSingh

+0

Điều 'đơn giản yêu cầu' của bạn là dành cho ai đó để làm điều đó cho bạn mà không có bất kỳ công việc nào về phía bạn để cho họ thấy những gì bạn đã có/đã thử cho đến nay. Đó là lý do tại sao bạn bị rên rỉ. Bạn đã tạo một câu hỏi mà không cần thêm bất kỳ mã nào. SO không phải là ở đây để làm công việc của bạn cho bạn, nhưng để hỗ trợ bạn trở thành lập trình viên tốt nhất bạn có thể. Sop không căng thẳng, chỉ cần viết chi tiết hơn vào câu hỏi của bạn và cho chúng tôi thấy những gì bạn đã cố gắng cho đến nay. –

Trả lời

5
  • Tạo một lớp cho duy trì quầy hit

    public static class Counter 
    { 
         private static long hit; 
    
         public static void HitCounter() 
         { 
          hit++; 
         } 
    
         public static long GetCounter() 
         { 
          return hit; 
         } 
    } 
    
  • Tăng giá trị của truy cập tại sự kiện tải trang

    protected void Page_Load(object sender, EventArgs e) 
    { 
        Counter.HitCounter(); // call static function of static class Counter to increment the counter value 
    } 
    
  • Chuyển trang trên chính nó và hiển thị giá trị truy cập vào nút bấm

    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

Bạn có thể làm Response.redirect("YourPage",false) để làm mới trang của bạn và đồng thời tăng số lượt truy cập.

+0

nhưng điều này sẽ làm tăng số lượt truy cập và tôi không muốn tăng số lượt truy cập khi làm mới – VimalSingh

0

Tải lại trang có thể được thực hiện bằng cách sử dụng mã javascript. Sử dụng nút HTML và triển khai thực hiện như ...

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

Khi nhấp vào nút, bạn có thể thử cách sau.

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

Và trên PageLoad bạn có thể kiểm tra xem tải có đến từ nút đó hay không và tăng số lượng.

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

Cảm ơn

27

Đó trên mã đằng sau chuyển hướng đến cùng một trang.

Response.Redirect(Request.RawUrl); 
1

Khi bạn nói làm mới trang, ví dụ mới của trang mà bạn đang tạo, do đó bạn cần phải hoặc là có một static variable/session variable hoặc method để lưu trữ và truy xuất số lần truy cập trên trang của bạn.

Theo như làm mới trang có liên quan, Response.Redirect(Request.RawUrl); hoặc window.location=window.location sẽ thực hiện công việc cho bạn.

Các vấn đề liên quan