답변:
페이지가 클라이언트에 렌더링되면 새로 고침을 강제하는 방법은 두 가지뿐입니다. 하나는 자바 스크립트입니다
setTimeout("location.reload(true);", timeout);
두 번째는 메타 태그입니다.
<meta http-equiv="refresh" content="600">
서버 측에서 새로 고침 간격을 설정할 수 있습니다.
Server.TransferRequest.
내 사용자 컨트롤에서 데이터를 업데이트 한 후 다음을 수행합니다.
Response.Redirect(Request.RawUrl);
이렇게하면 페이지가 다시로드되고 사용자 정의 컨트롤에서 정상적으로 작동합니다. RawURL을 사용 Request.Url.AbsoluteUri하고 요청에 포함될 수있는 GET 매개 변수를 유지 하지 마십시오 .
__doPostBack포스트 백을 수행 할 때 많은 aspx 페이지가 다르게 동작하므로 :을 사용하고 싶지 않을 수 있습니다 .
늦었을 수도 있지만 답변을 찾는 사람에게 도움이되기를 바랍니다.
다음 행을 사용하여이를 수행 할 수 있습니다.
Server.TransferRequest(Request.Url.AbsolutePath, false);
Response.Redirect프로세스의 단계가 증가하므로 사용하지 마십시오 . 실제로하는 것은 :
보시다시피, 동일한 결과에는 1 회가 아닌 2 회가 소요됩니다.
.TextA의 TextBox또는 .Visible의 상태를 Button.
이 시도:
Response.Redirect(Request.Url.AbsoluteUri);
javascript의 location.reload () 메소드를 사용하십시오 .
<script type="text/javascript">
function reloadPage()
{
window.location.reload()
}
</script>
개인적으로 페이지의 상태를 유지해야하므로 모든 텍스트 상자와 기타 입력 필드가 값을 유지합니다. 메타 새로 고침을 수행하면 새 게시물과 같습니다. IsPostBack은 항상 false이므로 모든 컨트롤이 다시 초기화 된 상태입니다. 상태를 유지하려면 이것을 Page_Load () 끝에 놓으십시오. 이벤트가 연결된 butRefresh와 같은 이벤트 butRefresh_Click (...)과 같이 페이지에 숨겨진 버튼을 만듭니다. 이 코드는 사용자가 새로 고침 버튼을 클릭 한 것처럼 포스트 백을 실행하도록 페이지에 타이머를 설정합니다. 모든 상태와 세션이 유지됩니다. 즐겨! (PS 포스트 백에서 오류가 발생하면 @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);
이 문제를 해결하기 위해 두 가지 방법을 사용할 수 있습니다. 1) 헤드 태그 후
<head>
<meta http-equiv="refresh" content="600">
</head>
2) 페이지에 헤드 태그가 없으면 Javascript를 사용하여 구현해야합니다.
<script type="text/javascript">
function RefreshPage()
{
window.location.reload()
}
</script>
내 연락처 :