2011-07-14 44 views
0

將腳本文本追加到asp.net網頁表單頁面的末端這裏是我從用戶控制代碼背後所做的事情;從用戶控件

ScriptManager.RegisterStartupScript(this.Page, typeof(Page), 
    "JQuerySearchReminder", 
    string.Format("(function() {{ $(function(){{ $('#{0}').val('{1}'); }}); }})();", ddlDestinationTrf.ClientID, srchrmdr["_did"]), 
    true); 

腳本代碼工作正常,沒有錯。在用戶控件上,我也使用AjaxControlToolkit的CascadingDropDown控件。

所以問題是這樣的;

這個c#代碼我用來追加腳本進入頁面之前註冊了CascadingDropDown控件的腳本代碼。這在這種情況下不起作用因爲如果CascadingDropDown控件尚未完成作業,則dorpdownlist爲空。

所以,夥計們,讓我擺脫這種跛腳的情況。

回答

0

您是否嘗試將ScriptManager.LoadScriptsBeforeUI設置爲false。 See here for details

或者,您可以使用jquery的document.ready函數在文檔加載後運行您的JavaScript代碼嗎?

+0

不,它不起作用。我的目標並不是在頁面的開始處獲得ajax代碼,而是在最後得到這個小腳本代碼。爲document.ready部分 – tugberk

+0

,我認爲這段代碼是這樣做的; '$(function(){});'? – tugberk

+0

@tugberk:當我設置'LoadScriptsBeforeUI =「false」'時,那麼用'RegisterStarupScript'註冊的腳本被渲染在html頁面的最後(即在''元素之前)。 – M4N