0
我無法制作一個fixedTableHeader。我發現了一個jQuery插件,可以在簡單測試中正常工作。但我需要將它作爲嵌入式資源包含在WebControl中。jquery插件加載但WebControl中'不可訪問'
所以我心中已經登記在Assembly.cs腳本,並將它們設置爲「嵌入的資源」
在WebControl的他們註冊這樣的:
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "jquery", Page.ClientScript.GetWebResourceUrl(this.GetType(), "LRGrid.jquery_min.js"));
var fixedScript = Page.ClientScript.GetWebResourceUrl(this.GetType(), "LRGrid.jquery_fixedheadertable.js");
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "fixedheadertable", fixedScript);
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "jquery", Page.ClientScript.GetWebResourceUrl(this.GetType(), "LRGrid.jquery.tablescroll.js"));
然後以打電話劇本我做的:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "SetTable" + ClientID, "; $(document).ready(function(){$('table#" + ClientID + "').fixedHeaderTable({ footer: false, cloneHeadToFoot: false, fixedColumn: false });});", true);
現在,如果我測試在Firefox,我得到
.fixedTableHeader is not a function
IE9告訴我method not supported
我可以使用Firebug或IE開發者工具欄和看到腳本加載?!?!?任何想法,爲什麼它不可用?
編輯:: 現在我試圖直接在標記中加載腳本 - 然後它按預期工作。但只要我嘗試使用嵌入資源失敗加載它們並不會承認fixedTableHeader
作爲函數
$(document).ready(function() {
if(jQuery.isFunction($('table#" + ClientID + "').fixedTableHeader)){
$('table#" + ClientID + "').fixedTableHeader({ height:200, width:'100%' });
}else{
alert('unable to load scroll script');
}
});
您可以向我們展示元素出現的呈現HTML代碼片段?我的想法是,您嘗試匹配的ID與您的腳本所尋找的ID不同 –
Sure @RobAllen - 任何可能有助於清除此問題的內容;) 表標記爲: '
回答
好了 - 這樣的錯誤定位於另一個文件...壞消息!
我已經從BasePage的加載的jQuery(或其他人做了一次;))
這相沖突以我的控制,當我試圖加載jQuery的存在......現在我不想從任一位置刪除jQuery初始化。所以我決定讓BasePage負載有條件。由於BasePage的有
LRGrid
知識,而不是周圍的其他方式...所以這裏的解決方案:
希望有您都可以使用它:-P
來源
2012-09-27 09:52:43 woodbase
相關問題