2012-04-09 22 views
5

Tôi có trang aspx nơi tôi cần kiểm tra và hiển thị thông báo lỗi trên trang trên page_load. Các thông báo lỗi là dưới đây:Cách chèn phần mã html vào một địa điểm cụ thể bằng cách sử dụng codebehind khi tải trang

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

khối mã này nên được thêm vào trang sau khi chechking một số điều kiện ... và một phần và một số chức năng khác được thực hiện trong chức năng mã behide page_load()

làm thế nào để tôi làm điều này bằng cách sử dụng chỉ phía sau mã trong hàm page_load() mà không cần viết nội tuyến trong tệp aspx?

Trả lời

9

Tạo một div với một ID và một runat = "server":

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

Sau đó, từ sự kiện Page_Load của bạn trong mã phía sau, bạn có thể đặt html bên trong của div:

divErrorMessage.InnerHtml = "Your message"; 

Đặt cờ, runat = "server" làm cho kiểm soát có sẵn trong mã phía sau

0

Có nhiều cách để làm điều này, đây là một. Quấn div của bạn trong một điều khiển asp Panel.

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

trong Page_Load của bạn:

pnlErrorMessage.Visible = true;

4

bạn chỉ có thể thêm mã như dưới đây inthe 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); 

} 

Trong ví dụ này, chúng ta tạo một điều khiển Literal mới và thêm HTML của bạn trong đó là thuộc tính Văn bản, sau đó thêm điều khiển theo nghĩa đen này vào bộ sưu tập điều khiển của trang aspx hiện tại.

Bạn có thể thay đổi vị trí của div này theo kiểu CSS và bạn cũng có thể thêm nó vào bất kỳ Bảng hiện có nào thay vì thêm trực tiếp vào đối tượng "Page.Controls", ví dụ bạn có thể thêm nó vào "Panel1. Điều khiển ".

Nhưng thực tiễn tốt nhất không nên làm điều đó trực tiếp trong mã phía sau, bạn có thể sử dụng tệp tài nguyên tốt hơn.

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