C#-WebForm-簡單控件


在HTML中稱“元素”,添加了“runat=‘server’”后稱控件,后台服務端可以控制

想要后台改變前端的控件,需要先讓后台獲取前端控件

 

常用的簡單的表單元素(控件)

==================================================

1、label —— span

label 經過編譯后,在HTML中為span

常用屬性:

  ★Text:要顯示的文字內容 —— <span>要顯示的文字內容</span>

  ★CssClass:指向的Class屬性

<asp:Label ID="Label1" runat="server" Text="1234" CssClass="aaa"></asp:Label>

網頁展示:  HTML編碼:

  height:高度

  width:寬度

  enabled:控件是否啟用,但對label無效

  visible:控件是否可見,編譯后無代碼

 

編譯前:

        <asp:Label ID="Label1" runat="server" Text="1234" CssClass="aaa" Height="100" Width="100" BackColor="#FF99CC" BorderColor="#FF3300" BorderStyle="Solid" BorderWidth="5"></asp:Label>

 

 

編譯后: 

<span id="Label1" class="aaa" style="display:inline-block;background-color:#FF99CC;border-color:#FF3300;border-width:5px;border-style:Solid;height:100px;width:100px;">1234</span>

如果有多個相同的label,則會出現代碼冗余,影響數據傳輸

使用<style ></style>

減少代碼,減少流量,加快傳輸

==================================================

2、★★★★★Lateral - 向前端返回代碼

Lateral 編譯后會把其 text 原封不動的展示出來

常用屬性:

  text:可以是文字,也可以是要執行的代碼(李獻策lxc)

比如:

<asp:Literal ID="Literal1" runat="server" Text="2016-12-29"></asp:Literal>

網頁展示  編譯后

 比如:

<asp:Literal ID="Literal1" runat="server" Text="<script>alert('2016年12月29日')</script>"></asp:Literal>

網頁展示  編譯后

 練習1:

點擊按鈕,彈出提示,提示文本框是否為空

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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></title>
    <style type="text/css">

        .aaa {
            display:inline-block;background-color:#FF99CC;border-color:#FF3300;border-width:5px;border-style:Solid;height:100px;width:100px;
        }

    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <%-- <asp:Label ID="Label1" runat="server" Text="1234" CssClass="aaa"></asp:Label> --%>

            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="Button" />

            <asp:Literal ID="Literal1" runat="server" ></asp:Literal>

        </div>
    </form>
</body>
</html>
前端代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }
    //按鈕點擊事件
    void Button1_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text.Length > 0)
        {
            Literal1.Text = "<script>alert('內容不為空!');</script>";
        }
        else
        {
            Literal1.Text = "<script>alert('空!');</script>";
        }
    }
}
后台代碼

  

練習2:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }
    //按鈕點擊事件
    void Button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 20; i++)
        {
            Literal1.Text += "<span class='aaa'>" + i + "</span>";
        }
    }
}
打印多個span

頁面展示

編譯代碼

 ==============================================================

 3、textbox - text、password、textarea

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

屬性:

  ★★★TextMode - text模式

    1、默認 SingleLine - 單行文本框,編譯后為 type="text"

    2、Password - 密碼框,編譯后為 type="password"

    3、MultiLine - 文字域,編譯后為 <textarea></textarea>

    在設計界面中 textmode 屬性有多個,只用前三個

  maxlength:最大長度,在文本域 <textarea></textarea> 中不起作用

  readonly:只讀屬性(李獻策lxc)

==============================================================

4、hiddenfield - hidden 隱藏域

<asp:HiddenField ID="HiddenField1" runat="server" />
<input type="hidden" name="HiddenField1" id="HiddenField1" />

==============================================================

5、button - submit 提交

imagebutton - image 提交圖片

linkbutton - 超鏈接模樣的按鈕,僅控件如此

button、reset - 沒有控件對應

編譯前

<asp:Button ID="Button1" runat="server" Text="Button" />

<asp:ImageButton ID="ImageButton1" runat="server" />

<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>

編譯后

<input type="submit" name="Button1" value="Button" id="Button1" />

<input type="image" name="ImageButton1" id="ImageButton1" src="" />
<a id="LinkButton1" href="javascript:__doPostBack(&#39;LinkButton1&#39;,&#39;&#39;)">LinkButton</a>

button屬性:

  ★★★OnClientClick - 在客戶端OnClick上執行的客戶端腳本

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick='alert("haha")' />
<input type="submit" name="Button1" value="Button" onclick="alert(&quot;haha&quot;);" id="Button1" />

客戶端腳本執行優先級高,即先彈窗再執行其他操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM