programing

ASP에서 페이지를 새로 고치려면 어떻게 해야 합니까?NET? (코드로 다시 로드할 수 있음)

mailnote 2023. 5. 11. 21:42
반응형

ASP에서 페이지를 새로 고치려면 어떻게 해야 합니까?NET? (코드로 다시 로드할 수 있음)

ASP에서 페이지를 새로 고치려면 어떻게 해야 합니까?NET? (코드로 다시 로드할 수 있음)

응답을 사용하지 않는 것이 좋습니다.페이지가 SharePoint 내부의 웹 파트 내부의 사용자 컨트롤 안에 있기 때문에 내가 들어갈 페이지인지 알 수 없으므로 리디렉션().

사용자 컨트롤에서 데이터를 업데이트한 후 다음 작업을 수행합니다.

  Response.Redirect(Request.RawUrl);    

이렇게 하면 페이지가 다시 로드되고 사용자 제어에서 올바르게 작동합니다. 원시 URL을 사용하고 사용하지 않는 경우Request.Url.AbsoluteUri요청에 포함될 수 있는 모든 GET 매개 변수를 보존합니다.

사용하고 않을입니다: 다을사용않수있습도다니을지.__doPostBack많은 aspx 페이지가 포스트백을 수행할 때 다르게 동작하기 때문입니다.

늦을지도 모르지만, 답을 찾는 사람에게 도움이 되었으면 좋겠습니다.

다음 행을 사용하여 이 작업을 수행할 수 있습니다.

Server.TransferRequest(Request.Url.AbsolutePath, false);

사용하지 않도록 하십시오.Response.Redirect프로세스의 단계를 증가시키기 때문입니다.실제로 하는 일은 다음과 같습니다.

  1. 리디렉션 헤더가 있는 페이지를 다시 보냅니다.
  2. 브라우저가 대상 URL로 리디렉션됩니다.

보시다시피, 같은 결과는 한 번의 여행이 아니라 두 번의 여행을 합니다.

페이지가 클라이언트에 렌더링되면 강제로 새로 고침하는 방법은 두 가지뿐입니다.하나는 Javascript 입니다.

setTimeout("location.reload(true);", timeout);

두 번째는 메타 태그입니다.

<meta http-equiv="refresh" content="600">

서버 측에서 새로 고침 간격을 설정할 수 있습니다.

사용해 보십시오.

Response.Redirect(Request.Url.AbsoluteUri);

javascript의 location.reload() 메서드를 사용합니다.

<script type="text/javascript">
  function reloadPage()
  {
    window.location.reload()
  }
</script>

asp.net 에서 페이지를 새로 고치는 방법은 다양합니다. 예를 들어...

자바스크립트

 function reloadPage()
 {
     window.location.reload()
 }

코드비하

Response.Redirect(Request.RawUrl)

메타 태그

<meta http-equiv="refresh" content="600"></meta>

페이지 리디렉션

Response.Redirect("~/default.aspx"); // Or whatever your page url

전체 페이지 새로 고침을 수행하지 않으려면 업데이트 패널 내에서 새로 고침할 내용을 래핑한 다음 비동기식 포스트백을 수행하는 것이 어떻습니까?

저는 개인적으로 페이지가 상태를 유지하도록 해야 하므로 모든 텍스트 상자와 다른 입력 필드가 값을 유지합니다. 메타 새로 고침을 수행하면 IsPostBack은 항상 거짓이므로 모든 컨트롤이 다시 초기화된 상태가 됩니다.상태를 유지하려면 Page_Load()의 끝에 이것을 놓습니다. but Refresh with event but Refresh_Click(...)과 같은 이벤트가 연결된 페이지에 숨겨진 버튼을 만듭니다.이 코드는 사용자가 직접 새로 고침 버튼을 클릭한 것처럼 페이지에서 포스트백을 실행하도록 타이머를 설정합니다.모든 상태 및 세션이 유지됩니다.즐겨라! (P.S. 포스트백에서 오류를 수신하는 경우 @Page 헤더 EnableEventValidation="false"에 지침을 넣어야 할 수도 있습니다.

//tell the browser to post back again in 5 seconds while keeping state of all controls
ClientScript.RegisterClientScriptBlock(this.GetType(), "refresh", "<script>setTimeout(function(){ " + ClientScript.GetPostBackClientHyperlink(butRefresh, "refresh") + " },5000);</script>");

당신은 그 일을 하실 수 없어요.리디렉션(또는 다른 서버 기술)을 사용하는 경우, 리디렉션 페이지만 브라우저로 실제 페이지를 전송하지 않습니다.

이렇게 하려면 메타 태그 또는 JavaScript를 사용해야 페이지가 잠시 표시된 후 다시 로드할 수 있습니다.

ScriptManager.RegisterStartupScript(this, GetType(), "refresh", "window.setTimeout('window.location.reload(true);',5000);", true);

당신의page_load추가할 내용:

Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1;
Response.Write("<script>window.opener.location.href = window.opener.location.href </script>");

이 문제를 해결하기 위해 두 가지 방법을 사용할 수 있습니다: 1) Head Tag 이후

<head> 
<meta http-equiv="refresh" content="600">
</head>

페이지에 헤드 태그가 없으면 Javascript를 사용하여 구현해야 합니다.

<script type="text/javascript">
  function RefreshPage()
  {
    window.location.reload()
  }
</script>

내 연락처:

http://gola.vn

페이지 새로 고침을 올바르게 수행할 수 있는 유일한 방법은 자바스크립트, 많은 상위 항목을 통해서였습니다.NET 응답이 실패했습니다.

Response.Write("<script type='text/javascript'> setTimeout('location.reload(true); ', timeout);</script>");

위의 코드를 버튼 클릭 이벤트 또는 페이지를 강제로 새로 고치고 싶은 곳에 넣습니다.

for asp.net core 3.1

Response.Headers.Add("Refresh", "2");// in secound

그리고.

Response.Headers.Remove("Refresh");

언급URL : https://stackoverflow.com/questions/1206507/how-do-i-refresh-the-page-in-asp-net-let-it-reload-itself-by-code

반응형