天天看點

ASP.NET 2.0新控件、管理外觀、布局及其它使用者體驗

asp.net 2.0 的aster Page主題以及皮膚的用、 成員管理、新控件

程式設計方式 改變頁面的皮膚  示例如下:

 Page.Theme = Server.HtmlEncode(Request.QueryString("Theme"))

<a href="CodeTheme.aspx?Theme=ThemeA">Theme A</a> 

      <a href="CodeTheme.aspx?Theme=ThemeB">Theme B</a> 

<%@ Page Language="VB" Theme="Theme1" %>  在頁面的前面設定Theme 來引用皮膚

定義SkinID   

<%@ Page Language="VB" Theme="Theme2" %>      Theme2 下面有不同的Skin   需要定義id

 <asp:Label ID="Label2" runat="server" Text="Hello 2" SkinID="Blue" /><br />

<asp:label runat="server" font-bold="true" forecolor="orange" />

<asp:label runat="server" SkinID="Blue" font-bold="true" forecolor="blue" />

如果使用了theme定義了一個頁面的theme ,頁面中對控件的屬性設定就會失效,如果希望屬性設定有效 就需要用 StyleSheetTheme代替theme

<%@ Page Language="VB" StyleSheetTheme="Theme2" %>

定義節日

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        holidays(8, 15) = "反法西斯戰争勝利60周年紀念日"

    End Sub

    Protected Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender

        Dim d As CalendarDay

        Dim c As TableCell

        d = e.Day

        c = e.Cell

        If d.IsOtherMonth Then

            c.Controls.Clear()

        Else

            Try

                Dim Hol As String = holidays(d.Date.Month, d.Date.Day)

                If Hol <> "" Then

                    c.Controls.Add(New LiteralControl("<br><font color=red>" + Hol + "</font>"))

                End If

            Catch exc As Exception

                Response.Write(exc.ToString())

            End Try

        End If

End Class

在整個站點中應用母版頁:

   <configuration>

        <system.web>

        <pages masterPageFile="~/Site.master" />

        </system.web>

  </configuration>

動态應用母版頁:

    void Page_PreInit (Object sender, EventArgs e)

{

    Page.MasterPageFile = "~/Site.master";

}

操作母版頁中的控件 (弱類型)

<asp:Label ID="Title" RunAt="server" />

((Label) Master.FindControl ("Title")).Text = "Orders";

操作母版頁中的控件 (強類型)

  .

<script language="C#" runat="server">

public string TitleText

    get { return Title.Text; }

    set { Title.Text = value; }

</script>

Master.TitleText = "Orders";

母版頁可以嵌套使用

嵌套的母版頁隻能含有Content控件,但Content控件本身可以再嵌套 ContentPlaceHolders控件

<!-- Orders.Master -->

<%@ Master MasterPageFile="~/Site.Master" %>

<asp:Content ContentPlaceHolderID="..." RunAt="server">

  <asp:ContentPlaceHolder ID="..." RunAt="server">

    ...

  </asp:ContentPlaceHolder>

<asp:Content>

将EnableTheming屬性設定為false可以為單獨的控件或者整個頁面禁止主題功能

<asp:DropDownList ID="Countries" EnableTheming="false" RunAt="server" />

FileUpload控件

<asp:FileUpload ID="UploadControl" RunAt="server" />

<asp:Button Text="Upload" OnClick="OnUpload" RunAt="server" />

void OnUpload (Object sender, EventArgs e)

    if (FileUploadControl.HasFile) {

        string name = UploadControl.PostedFile.FileName;    // Path name

        Stream bits = UploadControl.PostedFile.InputStream; // Contents

          ...

        // Use the SaveAs method to persist to a local file

        FileInfo file = new FileInfo (UploadControl.PostedFile.FileName);

        UploadControl.SaveAs (Server.MapPath ("~/Uploads/" + file.Name);

    }

MultiView控件

<asp:MultiView ID="Main" ActiveViewIndex="0" RunAt="server">

  <asp:View RunAt="server">

  </asp:View>

</asp:MultiView>

void OnSwitchView (Object sender, EventArgs e)

    Main.ActiveViewIndex = 1; // Switch views

多國語言的支援,擷取浏覽器的目前語言設定 CultureInfo.CurrentCulture.Name方法可以

獲得目前使用的系統

本文轉自高海東部落格園部落格,原文連結:http://www.cnblogs.com/ghd258/archive/2005/10/10/251589.html,如需轉載請自行聯系原作者

繼續閱讀