海东的技术资料

  博客园 :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::

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>
动态应用母版页:
    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方法可以
获得当前使用的系统
 

posted on 2005-10-10 13:20  高海东  阅读(3128)  评论(0编辑  收藏  举报