2010-03-24 37 views
2

問題描述

包括JavaScript是有可能的RenderingTemplate 登記(包括)的JavaScript? (RenderingTemplates用來渲染列表形式或字段) 使用註冊/的RenderingTemplate內

<SharePoint:RenderingTemplate ID="NewRelatedListItem" runat="server"> 
    <Template> 
    <span id="part1"> 
     <SharePoint:ScriptLink Name="SPFormFieldAssistant.js" Localizable="false" /> 
     ... 
    </span> 
    ... 
    </Template> 
</SharePoint:RenderingTemplate> 

它不能做 - 它沒有包括頭部區域的腳本,但...:

Source http://img62.imageshack.us/img62/9826/ss20100324092808.png

我的代碼有問題嗎?儘管腳本IS位於Layouts文件夾,並且我使用Reflector檢查它是否使用Layouts文件夾(如果Localizable ='False')。

我不希望這個腳本被加載到每一個頁面,但只能用於表單。

關於如何實現這一點的任何想法?

我的想法是不工作...

我的第一個想法是添加腳本編程<% this.Page.ClientScript.RegisterClientScriptInclude("spffa", "/_layouts/SPFormFieldAssistant.js") %>,但它不工作,因爲該代碼評價是發生在Render方法和我讀在哪裏你不能在Render方法中註冊客戶端腳本,但通常在PreRender方法中完成。可惜

我的第二個想法,仍然沒有工作

我以爲我會創建被覆蓋的prerender方法中的自定義用戶控件命名RegisterClientScript和那裏,我可以添加腳本,我需要與客戶端腳本管理器(this.Page.ClientScript ...),但與SharePoint:ScriptLink一樣,我的控件也以文本形式呈現! my control as text http://img693.imageshack.us/img693/3738/ss20100324115826.png

我該如何克服這一點,以及抓住哪裏?

+0

runat = where?應該指定,如果你需要服務器端控件 – naivists 2010-03-24 15:53:36

+0

這是真的,謝謝。我的錯誤:( – 2010-03-25 11:07:18

回答

2

事實證明,您可以直接將<script>標記添加到模板!

<script src="/_layouts/SPFormFieldAssistant.js" type="text/javascript"></script> 

但是,謝謝你的注意事項。

1

有時候,我有一個類似的要求。爲此,我在Field Control類的CreateChildControls方法中包含腳本Register。

+0

謝謝,但我發現了更簡單的解決方案 - 可以直接將

  • 11. 註冊表監控,包括內核模式註冊表訪問?
  • 12. 註冊與註冊郵箱
  • 13. 註冊後註冊用戶
  • 14. 註冊資源的ActiveAdmin內部引擎
  • 15. xmpp中的帶內註冊是什麼?
  • 16. 用PHP註冊MySQL的用戶註冊
  • 17. 用戶註冊(註冊)的Wordpress REST API
  • 18. Firebase中的未註冊註冊令牌
  • 19. Securesocial註冊註冊的其他領域
  • 20. Django的註冊
  • 21. 註冊的DLL
  • 22. JQuery的:註冊
  • 23. Django的註冊
  • 24. 如何在django註冊中註冊註冊表格
  • 25. 註冊
  • 26. 註冊
  • 27. Rails:提交內容後請求註冊?
  • 28. AVR內聯彙編:註冊到變量?
  • 29. G ++ Asm內聯:註冊破解
  • 30. 內聯彙編:註冊引用約定