WSS3SDK之:演练--在mobile的显示窗体中定制列表项标题

本次演练中将向大家展示如何通过实现一个自定义RenderingTemplate控件来对mobile页面中字段的渲染进行定制。示例展示了如何在mobile的显示页面中定制通知列表的项的标题字段的显示。

正如先前在mobile页面渲染机制一节所描述的,一个Microsoft.SharePoint.MobileControls.SPMobileListFieldSelector 模板选取器控件会被调用,并通过一条链的调用,最终找到显示在页面中的控件。

基于当前的列表类型和字段(比如本例中的通知和标题),该对象决定了哪个RenderingTemplate会用于在mobile显示页面上渲染该字段。

该控件搜寻 RenderingTemplate 对象名称 MobileCustomListField_ListTypeID_FieldType_Field,其中 ListTypeID 可以是当前列表类型的ID号(如105),也可以是SPListTemplateType枚举的一个值(如Contacts)。FieldType 是字段的数据类型。比如,Text或Number。Field 是字段的内部名称,比如WorkPhone。如果该ID不存在,则使用ID为MobileDefaultListFieldRenderingTemplate 对象。

WSS 3.0并没有内置ID为MobileCustomListField_Announcements_Text_TitleRenderingTemplate。在本次演练中,您将创建一个新的用于通知列表的列表项标题字段的模板,来替换默认模板。

定制通知项的标题:
  1. 在文本编辑器中,创建一个文本文件 (UTF-8),命名为AnnouncementsItemDisplayPageTitleField.ascx。存放在 Local_Drive:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/CONTROLTEMPLATES目录下。

  2. 添加下列指向标记到文件中:

    < %@ Control  Language ="C#"  % >
    < %@ Assembly  Name ="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"  % >
    < %@ Register 
    TagPrefix ="mobile"  Namespace ="System.Web.UI.MobileControls"  Assembly ="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  % >
    < %@ Register 
    TagPrefix ="SharePoint"  Namespace ="Microsoft.SharePoint.WebControls"  Assembly ="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"  % >
    < %@ Register 
    TagPrefix ="SPMobile"  Namespace ="Microsoft.SharePoint.MobileControls"  Assembly ="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"  % >
    < %@ Import  Namespace ="Microsoft.SharePoint"  % >

  3. 然后,在其下面添加一个RenderingTemplate 对象,设置其 ID 为 显示页面所搜索的 SPMobileWebTitle 对象的ID:MobileCustomListField_Announcements_Text_Title

    < SharePoint:RenderingTemplate  RunAt ="Server"  ID ="MobileCustomListField_Announcements_Text_Title"   >
    </ SharePoint:RenderingTemplate >
  4. RenderingTemplate 元素中,定义一个 Template 元素来包含一个 Label 子控件。设置label的属性如下:

    < Template >
      
    < mobile:Label  Text ="Title field in Announcements List"  RunAt ="Server"   />
    </ Template >
  5. 保存并关闭该文件。

  6. 重启Internet Information Services (IIS) 。可以在命令行里使用iisreset命令来重启IIS。

  7. 如果您使用的是电脑上的设备模拟器,而不是真正的mobile设备,您可能还需要删除Internet临时文件。

  8. 通过您的设备或模拟器导航到某个通知列表。点击一项通知进入其显示页面。您将看到新定制的标题,正如下面的屏幕截图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值