2012-06-04 62 views
0

我有一個ASP.NET頁面,有時不會生成預期的「WebForm_AutoFocus()」javascript,即使我明確調用其中一個控件的.Focus()。是否有任何已知的情況,其中一些因素會阻止生成JavaScript?WebForm_AutoFocus沒有被生成

具體來說,當用戶點擊一個特定的按鈕時,我會動態地創建一些新的控件:在這種情況下是一個文本框。在OnPreRender中,我抓取了新創建的控件並調用了.Focus()。這個想法是,當回發完成時,瀏覽器將焦點集中到新創建的文本框控件上。但是,生成的HTML(通過Firebug和Fiddler驗證)完全不包含WebForm_Autofocus調用。

在其他scernarios中,同一頁面(在回發或初始命中時)在不同的控件上調用.Focus() - 不是動態創建的;在這些情況下,WebForm_AutoFocus()腳本完美地生成,並且一切正常。

不幸的是,我正在研究一個客戶端系統,該客戶端系統在框架上放置框架,抽象抽象,所以我不能在這裏發佈一個有意義的/簡潔的代碼示例。然而,如果我的友好的SO'er知道更多關於這個「WebForm_AutoFocus」javascript的生成以及阻止它被生成的場景 - 那將會給我一個開始挖掘的好地方。

回答

0

只有當asp.net認爲需要它時,纔會包含自動對焦調用。在頁面上設置一個默認按鈕,以便asp.net知道如何創建該方法。