關於runat = “server”

shuiyixin發表於2018-07-04
問題來源

        在學習ASP的過程中,遇到一個問題,有一個按鈕,沒有像HTML一樣給它設定事件,也沒有寫函式,但是點選它還是會有別的操作。比如下面這個:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="001IsPostBack屬性.aspx.cs" Inherits="WebDesign._001IsPostBack屬性" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>這是測試page物件的IsPostBack屬性的示例程式</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="pageMessage" runat="server" Text="Label"></asp:Label>
            <br />
            <br />
            <asp:Button ID="PageButton" runat="server" Text="回傳" />

        </div>
    </form>
</body>
</html>

        但是我注意到,在Button那有一個屬性runat,難道是這個小兔崽子搞的鬼嗎?然後就把它單獨註釋了,然後報錯了:

        【第一處報錯】

        第一處報錯是在程式碼中報錯,顯示如下錯誤。

        【第二處報錯】

         第二處報錯是在執行中報錯,顯示如下錯誤。

是它,是它,就是它,我們的小錯誤,runat。

那它到底是個什麼鬼?

runat介紹

        runat不是鬼,顧名思義runat就是 在。。。執行  的意思。runat =“server”的意思就是在伺服器中執行。執行編譯aspx檔案時,無runat =“server”屬性的標籤直接寫入Response;有runat =“server”屬性的標籤,將被轉換為HtmlContrl控制元件加入到ASP.NET自帶的控制元件集合中。

        而我的原始碼中,Button是一個asp 的控制元件,所以它必須要有這個屬性。

        總有一些人,想些有的沒的(比如說我),如果我就是不想用這個控制元件,我還希望頁面能展示出來,咋辦?

        好說,我們可以用HTML控制元件啊,用HTML是可以直接用button的,但是大家要注意一點,HTML中必須為小寫,而且沒有Text屬性。相關程式碼如下:

<button id ="button " >回傳</button>




相關文章