2014-09-05 1 views
-2

C#에서 페이지로드시 로딩 이미지를 표시해야합니다.C에서 페이지로드시 이미지 로딩 표시 #

Line 72:    this.Response.Write(@"dots++;"); 

내가 크게이 문제를 작업에 내게 줄 수있는 모든 도움을 주셔서 감사합니다 : 오류가 있기 때문에

나는 성공없이이 솔루션을 사용하여 시도했습니다. 난 당신이 때 페이지로드 로딩 이미지를 보여주고 싶은 생각

<script runat="server"> 

    private void Page_Load(object sender, System.EventArgs e) 
    { 
     PleaseWait(); 
    } 

    protected void PleaseWait() 
    { 
     this.Response.Write("<meta http-equiv=X-UA-Compatible content=IE=8>"); 
     this.Response.Write(@"<style type=text/css media=all>"); 
     this.Response.Write(@".loading"); 
     this.Response.Write(@"{"); 
     this.Response.Write(@"text-align: center;"); 
     this.Response.Write(@"padding-top: 30px;"); 
     this.Response.Write(@"border-width: 1px solid #000;"); 
     this.Response.Write(@"width: 300px;"); 
     this.Response.Write(@"height: 100px;"); 
     this.Response.Write(@"-ms-filter: alpha(opacity=90);"); 
     this.Response.Write(@"-ms-opacity: 0.90;"); 
     this.Response.Write(@"border-style: solid;"); 
     this.Response.Write(@"background-color: #FFFFFF;"); 
     this.Response.Write(@"position: absolute;"); 
     this.Response.Write(@"font-family: Trebuchet MS;"); 
     this.Response.Write(@"font-size: small;"); 
     this.Response.Write(@"position: absolute;"); 
     this.Response.Write(@"top: 0;"); 
     this.Response.Write(@"bottom: 0;"); 
     this.Response.Write(@"left: 0;"); 
     this.Response.Write(@"right: 0;"); 
     this.Response.Write(@"margin: auto;"); 
     this.Response.Write(@"display: block;"); 
     this.Response.Write(@"background: url('/images/wait01.gif') no-repeat center;"); 
     this.Response.Write(@"}"); 
     this.Response.Write(@"</style>"); 
     this.Response.Write(@"<div id=mydiv class=loading>&nbsp;</div>"); 

     this.Response.Write(@"<script>mydiv.innerText = '';"); 
     this.Response.Write(@"</script>"); 

     this.Response.Write(@"<script type=text/javascript language="javascript">;"); 
     this.Response.Write(@"var dots = 0;"); 
     this.Response.Write(@"var dotmax = 10;"); 
     this.Response.Write(@"function ShowWait()"); 
     this.Response.Write(@"{"); 
     this.Response.Write(@"var output;"); 
     this.Response.Write(@"output = '" + "Please wait..." + "';"); 
     this.Response.Write(@"dots++;"); 
     this.Response.Write(@"if(dots>=dotmax)dots=1;"); 
     this.Response.Write(@"for(var x = 0;"); 
     this.Response.Write(@"x < dots;x++)"); 
     this.Response.Write(@"{"); 
     this.Response.Write(@"output += '.';"); 
     this.Response.Write(@"}"); 
     this.Response.Write(@"mydiv.innerText = output;"); 
     this.Response.Write(@"}"); 
     this.Response.Write(@"function StartShowWait()"); 
     this.Response.Write(@"{"); 
     this.Response.Write(@"mydiv.style.visibility = 'visible'; "); 
     this.Response.Write(@"window.setInterval('ShowWait()',1000);"); 
     this.Response.Write(@"}"); 
     this.Response.Write(@"function HideWait()"); 
     this.Response.Write(@"{"); 
     this.Response.Write(@"mydiv.style.visibility = 'hidden';"); 
     this.Response.Write(@"window.clearInterval();"); 
     this.Response.Write(@"}"); 
     this.Response.Write(@"StartShowWait();"); 
     this.Response.Write(@"</script>"); 

     this.Response.Flush(); 
     System.Threading.Thread.Sleep(500); 
    } 
</script> 
+5

그냥 ... 아니요. 모든'Response.Write'을 제거하고, ASP.NET이 (Response.Write'가 아닌) 컨트롤을 사용하여 사용되어지고 브라우저가로드 중임을 보여 주도록합니다. 또는 실제로 어떤 오류가 발생했는지 설명하십시오. 다시는 아니요, 아니요,이 작업을 원하지 않습니다. 또한 이미지를 표시하려면 페이지를로드해야하기 때문에 페이지가로드되는 동안 페이지에 로딩 이미지를 표시 할 수 없습니다. – CodeCaster

답변

1

:

여기 내 코드입니다.

이 경우 Jquery Load 이벤트를 사용하여로드중인 이미지를 표시 할 수 있습니다.

이 시도 : 그 미친 짓처럼 http://jsbin.com/izetOcAP/2/edit

0

Response.Writes를 사용! 당신이 그것을 할 그 과정에서 머리를 유지할 수있는 한 가지 방법은 다음과 같습니다

HTML

<body class="load"> 
    <p>My hair is still here.</p> 
</body> 

CSS

.load{ 
    background-color:#e6e6e6; 
} 

.load.complete{ 
    background-color:transparent; 
} 

JS

$(document).ready(function(){ 
    this.body.className = 'load complete'; 
}) 

다음은 매우 빠른 예제 인 http://jsfiddle.net/rp6oourg/의 바이올린입니다.