<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # ASP.NET Web Forms - 服務器控件 服務器控件是服務器可理解的標簽。 ## 經典 ASP 的局限性 下面列出的代碼是從上一章中復制的: ``` <html> <body bgcolor="yellow"> <center> <h2>Hello W3CSchool.cc!</h2> <p><%Response.Write(now())%></p> </center> </body> </html> ``` 上面的代碼反映出經典 ASP 的局限性:代碼塊必須放置在您想要輸出顯示的位置。 通過經典 ASP,想要把可執行代碼從 HTML 頁面中分離出來是不可能的。這讓頁面變得難以閱讀,也難以維護。 ## ASP.NET - 服務器控件 ASP.NET 通過服務器控件,已經解決了上述的"意大利面條式代碼"問題。 服務器控件是服務器可理解的標簽。 有三種類型的服務器控件: * HTML 服務器控件 - 創痛的 HTML 標簽 * Web 服務器控件 - 新的 ASP.NET 標簽 * Validation 服務器控件 - 用于輸入驗證 ## ASP.NET - HTML 服務器控件 HTML 服務器控件是服務器可理解的 HTML 標簽。 ASP.NET 文件中的 HTML 元素,默認是作為文本進行處理的。要想讓這些元素可編程,需向 HTML 元素中添加 runat="server" 屬性。這個屬性表示,該元素將被作為服務器控件進行處理。同時需要添加 id 屬性來標識服務器控件。id 引用可用于操作運行時的服務器控件。 **注釋:**所有 HTML 服務器控件必須位于帶有 runat="server" 屬性的 &lt;form&gt; 標簽內。runat="server" 屬性表明了該表單必須在服務器上進行處理。同時也表明了包含在它內部的控件可被服務器腳本訪問。 在下面的實例中,我們在 .aspx 文件中聲明了一個 HtmlAnchor 服務器控件。然后我們在一個事件句柄(事件句柄是一種針對給定事件執行代碼的子例程)中操作 HtmlAnchor 控件的 HRef 屬性。Page_Load 事件是 ASP.NET 可理解的多種事件中的一種: ``` <script runat="server"> Sub Page_Load link1.HRef="http://www.w3cschool.cc" End Sub </script> <html> <body> <form runat="server"> <a id="link1" runat="server">Visit W3CSchool.cc!</a> </form> </body> </html> ``` 可執行代碼本身已經被移到 HTML 之外了。 ## ASP.NET - Web 服務器控件 Web 服務器控件是服務器可理解的特殊 ASP.NET 標簽。 就像 HTML 服務器控件,Web 服務器控件也是在服務器上創建的,它們同樣需要 runat="server" 屬性才能生效。然而,Web 服務器控件沒有必要映射任何已存在的 HTML 元素,它們可以表示更復雜的元素。 創建 Web 服務器控件的語法是: ``` <asp:control_name id="some_id" runat="server" /> ``` 在下面的實例中,我們在 .aspx 文件中聲明了一個 Button 服務器控件。然后我們為 Click 事件創建一個事件句柄,用來改變按鈕上的文本: ``` <script runat="server"> Sub submit(Source As Object, e As EventArgs) button1.Text="You clicked me!" End Sub </script> <html> <body> <form runat="server"> <asp:Button id="button1" Text="Click me!" runat="server" OnClick="submit"/> </form> </body> </html> ``` ## ASP.NET - Validation 服務器控件 Validation 服務器控件是用來驗證用戶輸入的。如果用戶輸入沒有通過驗證,將顯示一條錯誤消息給用戶。 每種 validation 控件執行一種指定類型的驗證(比如驗證摸個指定的值或者某個范圍的值)。 在默認情況下,當 Button、ImageButton、LinkButton 控件被點擊時,會執行頁面驗證。您可以設置 CausesValidation 為 false ,來阻止按鈕控件被點擊時進行驗證。 創建 Validation 服務器控件的語法是: ``` <asp:control_name id="some_id" runat="server" /> ``` 在下面的實例中,我們在 .aspx 文件中聲明了一個 TextBox 控件、一個 Button 控件、一個 RangeValidator 控件。如果驗證失敗,文本 "The value must be from 1 to 100!" 將會顯示在 RangeValidator 控件中: ## 實例 ``` <html> <body> <form runat="server"> <p>Enter a number from 1 to 100: <asp:TextBox id="tbox1" runat="server" /> <br /><br /> <asp:Button Text="Submit" runat="server" /> </p> <p> <asp:RangeValidator ControlToValidate="tbox1" MinimumValue="1" MaximumValue="100" Type="Integer" Text="The value must be from 1 to 100!" runat="server" /> </p> </form> </body> </html> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看