[英]focus on the user control in C#
我在母版頁中有一個用戶控件(錯誤控件)。 默認情況下,用戶控件是隱藏的(可見false)
在單擊提交按鈕時,我正在顯示錯誤控件。現在,在回發時,我要重點關注此控件。我在注冊啟動腳本中編寫了Java腳本,如下所示:
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Scroll", "window.scrollTo(0, 0)", true);
在回發頁面上,顯示此控件,然后返回到其先前的滾動位置。
您是否已在頁面/母版頁頂部的page指令中或web.config的<pages>
元素中將MaintainScrollPositionOnPostback
設置為true
?
您還可以在回發處理程序中使用控件的Focus
方法
編輯以澄清:
如果其中任何一個設置為true
則很有可能它們將覆蓋您的啟動腳本,以將頁面發送回頁面頂部-您是否嘗試在Page指令中或在Page對象中將其設置為false?顯示錯誤控制的相同代碼?
終於我解決了這個問題。 以下是我這樣做的方式...
我在用戶控件(放置錯誤控件)的位置添加了寬度為零%的文本框
現在,每當發生錯誤時,我都會調用以下方法。
public void SetFocus()
{
ScriptManager3.SetFocus(txtFocus.ClientID);
}
盡管錯誤控制實際上並不是針對性的,但這種巧妙的解決方法可以幫助我實現目標。
希望對其他人有幫助
private void Control_GotFocus(object sender, EventArgs e)
{
Console.WriteLine("Control GotFocus : " + ((sender as Control).Name));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.