WSS3SDK之:Mobile开发之页面布局与分页

一个WSS mobile页面模板一方面用来描述页面的布局,另一方面用来放置ASP.NET 2.0 mobile控件或者SharePoint自带的mobile控件。
单独一个MobileDefaultTemplates.ascx文件中包含了所有用于mobile页面的渲染模板。该用户控件文件位于Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES目录中。通过mobile渲染框架模板会被从这里动态加载。通过放置包含渲染模板定义的自定义的.ascx文件到该目录,并赋予这些控件合适的控件ID,您可以覆盖默认发布到mobile页面中的控件。

页面布局


每个WSS mobile页面被分成页眉,内容,和页脚三部分,之间以横线分割。页面区域包含了网站、列表或条目的标题。内容区域在主页上显示列表的清单,在列表视图页面中显示条目,在列表项窗体页面中显示字段。页脚区域包含了操作的URL,用于操作列表项和导航到其他页面。
Mobile页面中的默认控件指的是定义在MobileDefaultTemplates.ascx文件中的渲染模板,其中定义了页面中用到的子模板和渲染控件。页眉和页脚区域实现自ASP.NET的 DeviceSpecific模板,即使当内容区域分页时也会始终显示。
下面的例子展示了用于默认首页mbllists.aspx中的模板:
< SPMobile:SPMobileForm 
  
RunAt ="Server"  
  PageType
="HomePage"  
  Paginate
="true" >
  
< DeviceSpecific >
    
< Choice >
      
< HeaderTemplate >
        
< SPMobile:SPMobileControlContainer 
          
RunAt ="Server"  
          Weightless
="true" >
          
< SPMobile:SPMobilePageTitle 
            
RunAt ="Server"   />
          
< SPMobile:SPMobileComponent 
            
RunAt ="Server"  
            TemplateName
="MobileDefaultSeparator"   />
        
</ SPMobile:SPMobileControlContainer >
      
</ HeaderTemplate >
      
< FooterTemplate >
        
< SPMobile:SPMobileControlContainer 
          
RunAt ="Server"  
          Weightless
="true" >
          
< SPMobile:SPMobileComponent 
            
RunAt ="Server"  
            Templatename
="MobilePaginateNavigation"   />
          
< SPMobile:SPMobileComponent
            
RunAt ="Server"  
            TemplateName
="MobileDefaultSeparator"   />
          
< SPMobile:SPMobilePageNavigation 
            
RunAt ="Server"   />
        
</ SPMobile:SPMobileControlContainer >
      
</ FooterTemplate >
    
</ Choice >
  
</ DeviceSpecific >
  
< SPMobile:SPMobilePageContents  RunAt ="Server"   />
</ SPMobile:SPMobileForm >

标记SPMobilePageContents插在页面的body区域,他随着运行时和站点模板,列表模板或窗体的不同而不同。例子中的其他控件时TemplateName属性来标识定义在MobileDefaultTemplates.ascx中的一个渲染模板。
自定义控件
如果要根据站点模板的类型为首页应用特定的渲染,根据列表模板类型使用不同的列表视图,或列表项窗体,您可以通过复制MobileDefaultTemplates.ascx文件来添加一个自定义渲染模板。
如果要应用特定的渲染,可以定义一个RenderingTemplate控件,使其全局唯一的ID为下列格式:
主页
Mobile_SiteTemplateName_HomePage_Title
Mobile_SiteTemplateName_HomePage_Contents
Mobile_SiteTemplateName_HomePage_Navigation
列表视图
Mobile_ListTemplateID_View_Title
Mobile_ListTemplateID_View_Contents
Mobile_ListTemplateID_View_Navigation
列表窗体
Mobile_ListTemplateID_NewForm_Title
Mobile_ListTemplateID_NewForm_Contents
Mobile_ListTemplateID_NewForm_Navigation
Mobile_ListTemplateID_EditForm_Title
Mobile_ListTemplateID_EditForm_Contents
Mobile_ListTemplateID_EditForm_Navigation
Mobile_ListTemplateID_DispForm_Title
Mobile_ListTemplateID_DispForm_Contents
Mobile_ListTemplateID_DispForm_Navigation
SiteTemplateName替换成站点定义的整数ID号,或其名称(比如,STSMPS)。将ListTemplateID替换成列表类型的整数ID号或对应的SPListTemplateType值。

分页


WSS使用ASP.NET 2.0的分页机制,从而在下列页面的内容区域中提供分页的支持:
    bloghome.aspx
    dispform.aspx
    disppost.aspx
    mbllists.aspx
    view.aspx
    viewcomment.aspx

更多ASP.NET分页的信息可以参考ASP.NET Mobile Controls:Pagination

你可能感兴趣的:(mobile)