問題:在ASP .NET中將焦點設置爲Web控件的最佳方式是什麼?如何將焦點設置爲ASP.NET中的Web控件
我可以做到,但它很醜。我有一個網頁控制包裹在網頁控制託管的網頁控制。所以,如果你做了一個視圖|在頁面上的源代碼就像WrapperControl_Control_TextBox。我已經嘗試過抓取元素並將其設置爲焦點的「已嘗試和真正的」Javascript方法:document.getElementByID(「WrapperControl_Control_TextBox」).focus();並沒有奏效。我不知道爲什麼。
我知道我可能會這樣做: document.getElementById(「<%= TextBox.ClientID%>」).focus();我想也是。如果頁面中有「<%%>」,則無法動態地將控件添加到標題,因爲這會導致另一個完全單獨的錯誤,因此無法正常工作。 GAH。
在「最底部」控件中,我試着設置焦點(Page_Load中的TextBox.Focus()),但這也不起作用。
無論如何,工作的方式是通過簡單地採用頁面的ControlsCollection,抓住我需要的控件,獲取它的集合,抓住下一個較低的控件等等。
我只需要做這七次。所以我有八個foreach循環。
基本上,我的代碼是這樣的:
/////////////////////////////// //在頁面 ///////////////////////////////
ControlCollection controls = Controls;
foreach(Control control in controls)
{
if (string.Equals(control.ID, "FormID", StringComparison.InvariantCultureIgnore))
{
ControlCollection nextControls = control.Controls;
foreach(Control nextControl in nextControls)
{
if (string.Equals(nextControl.ID, "DivICareAboutInTheForm", StringComparison.InvariantCultureIgnor))
{
ControlCollection nextNextControls = nextControl.Controls;
//:
//:
//Yes, it's that bad and so forth.
//:
//:
}
}
}
}
我們沒有JQuery,但我會考慮添加它。謝謝。 – Dan7el 2010-04-07 14:01:00
我安裝了JQuery並且使用腳本。有用!萬分感謝! – Dan7el 2010-04-07 18:25:12