簡體   English   中英

專注於C#中的用戶控件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM