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

posted @ 2008-07-05 23:59  Sunmoonfire  阅读(565)  评论(0编辑  收藏  举报