2012-04-09 2 views
5

페이지에 page_load의 오류 메시지를 확인하고 표시해야하는 aspx 페이지가 있습니다.페이지로드시 codebehind를 사용하여 특정 위치에 html 코드 섹션을 삽입하는 방법

<div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
     You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div> 

코드 블록은 일부 조건 chechking 후 페이지에 추가해야한다 .. 그 부분과 다른 기능 page_load()

가 어떻게 수행 코드 behide 기능이 구현된다 : 에러 메시지는 아래와 같다 이 코드는 page_load()의 코드 뒤에서 aspx 파일에 인라인없이 쓰면됩니다.

답변

9

ID가 사업부와 RUNAT = "서버"만들기 :

divErrorMessage.InnerHtml = "Your message"; 
:

<div ID="divErrorMessage" runat="server" class="divErrorMessage"></div> 

그런 뒤에 코드에서 Page_Load 이벤트에서, 당신이 사업부의 내부 HTML을 설정할 수 있습니다

플래그를 설정하면 runat = "server"는 코드 뒤에서 코드를 사용할 수있게합니다.

0

이렇게하는 방법은 다양합니다. 당신의 div를 ASP 패널 컨트롤에 랩핑하십시오.

pnlErrorMessage.Visible = true;

4

방금 ​​우리는 새로운 Literal 컨트롤을 만들이 예에서를 Page_Load

protected void Page_Load(object sender, EventArgs e) 
{ 

    Literal lit=new Literal(); 
    lit.Text = @"<div class='errorMessage'>The user ID or password you entered does not match our records. Please try again. <br /> 
          You may also securely recover your <a href='#'>User ID</a> or reset your <a href='#'>Password</a> online. 
         </div>"; 
    Page.Controls.AddAt(0,lit); 

} 

기계가 다음과 같은 코드를 추가하고 당신의 HTML을 추가 할 수 있습니다 : 귀하를 Page_Load에서

<asp:Panel runat="server" ID="pnlErrorMessage"> 
    <div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
    You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div> 
</asp:Panel> 

그것은 Text 속성입니다.이 리터럴 컨트롤을 현재 aspx 페이지의 controls 컬렉션에 추가하십시오.

CSS 스타일로이 div의 위치를 ​​변경할 수 있으며 "Panel.Controls"개체에 직접 추가하는 대신 기존 패널에 추가 할 수도 있습니다 (예 : "Panel1"에 추가 할 수 있음). 통제 수단".

하지만 코드에서 직접 그렇게하는 것이 좋지 않습니다. 리소스 파일을 더 잘 사용할 수 있습니다.

관련 문제