SharePoint JS Link 之( 三)如何设置JSLink的引用

JSLink文件写好之后,除了手动部署到SharePoint里,还有其他办法吗?


有多种方法可以设置JSLinkJavaScript 文件的引用:

  1.  server object model
  2.  WindowsPowerShell
  3.  Features里面的Element.xml文件
  4.  Web Part 属性
  5.  client object model

 

下面是一些例子:


Server Object Model:

先找到目标表单,然后再通过JSLink属性来设置:

SPWeb web= SPContext.Current.Web;
SPListlist = web.Lists.TryGetList("MyTasks");
if (null!= list)
{
 SPForm newForm = list.Forms[PAGETYPE.PAGE_NEWFORM];
  if (null!= newForm)
  {
   newForm.JSLink = "~/mycustom.js";
  }
}


Windows PowerShell:

Server Object Module的逻辑一样:

$web =Get-SPWeb
$field =$web.Fields["MyCustomField"]
$field.JSLink= "~/layouts/mycustom.js"
$field.Update()
$web.Dispose()


Element.xml:

先添加一个Field节点,然后设置JSLink属性:

<FieldID="{eb3eed37-961b-41bd-b11c-865c16e47071}"
Name="MyCustomField"DisplayName="Custom Columns"
Type="Text"Required="FALSE" Group="JSLink Demo"
JSLink="~site/stylelibrary/JSLinkDemo/jquery-1.10.2.min.js|
~site/stylelibrary/JSLinkDemo/customview.js">
</Field>


这里注意一下,使用|符号,可以添加多个JS文件。


Web Parts 属性:

在页面上进入编辑模式,然后找到Web Part, 然后编辑属性,在Miscellaneous里面能找到JSLink的属性,在这里设置。


The Client-Side Object Model (CSOM):

你可以使用CSOM设置fieldJSLink. 记住不能使用JaveScript直接修改Site column的属性,你需要在List里更新。如果你尝试更新site column的属性,你会得到下面的错误:

This functionality is unavailable for fields not associated with a list...

 

JavaScript CSOM:

fieldCollection= taskList.get_fields();
this.oneField= fieldCollection.getByInternalNameOrTitle("MyCustomField");
this.oneField.set_description("MyNewFieldDescription");
this.oneField.update();


 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。