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

來源:互聯網
上載者:User

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 Sub
End Class

在整個網站中應用主版頁面:
   <configuration>
        <system.web>
        <pages masterPageFile="~/Site.master" />
        </system.web>
  </configuration>
Live App主版頁面:
    void Page_PreInit (Object sender, EventArgs e)
{
    Page.MasterPageFile = "~/Site.master";
}
操作主版頁面中的控制項 (弱類型)
<asp:Label ID="Title" RunAt="server" />
((Label) Master.FindControl ("Title")).Text = "Orders";
操作主版頁面中的控制項 (強型別)
<asp:Label ID="Title" RunAt="server" />
  .
  .
  .
<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" />
  .
  .
  .
<script language="C#" 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);
    }
}
</script>

MultiView控制項
<asp:MultiView ID="Main" ActiveViewIndex="0" RunAt="server">
  <asp:View RunAt="server">
    ...
  </asp:View>
  <asp:View RunAt="server">
    ...
  </asp:View>
  <asp:View RunAt="server">
    ...
  </asp:View>
</asp:MultiView>
  .
  .
void OnSwitchView (Object sender, EventArgs e)
{
    Main.ActiveViewIndex = 1; // Switch views
}

多國語言的支援,擷取瀏覽器的當前語言設定 CultureInfo.CurrentCulture.Name方法可以
獲得當前使用的系統
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.