2011-07-06 102 views
0

我想在用戶單擊Submit(提交)後將焦點設置爲元素(按鈕),但焦點不在新頁面上頁。發生的事情是,當他們點擊提交時,我正在評估一些條件。如果其中一個被滿足,我將它們發回到同一頁面(或不重新定向),但仍然是回發,所以,當它提交後我再次發帖,我想把重點放在這個項目上..我怎麼能做到這一點?在同一頁面中提交後,將焦點從代碼背後設置爲

+0

如果我的控件有一個Tab索引呢?我該怎麼做,如果(blah == true)gotoTabIndex = 3; ...可能嗎? – user710502

回答

4

所以,你要設置焦點頁面上的WebControl的頁面?即?

您可以使用ControlId.Focus()

編輯

如果你談論的是回傳後的滾動位置,那麼你可以試試這個

<%@ Page MaintainScrollPositionOnPostback="true" %> 

現在,我從來沒有使用它之前或嘗試過,所以不知道它是否有效。

+0

是的,但是當我這樣做...頁面仍在加載,並且暫時顯示該項目的重點,但它然後回到頁面頂部... – user710502

+0

你是什麼意思「它可以回到頂部這一頁」?什麼?焦點?它關注什麼?你是在談論頁面的滾動位置? –

0

儘管你的問題似乎並不太清楚,我,我假設你想將焦點設置在asp.net控制,所以你可以做

protected void Page_Load(object sender, EventArgs e) 
    { 
     if(Page.IsPostBack) 
     { 
      if(vartemp === vartemp2) //assuming that you want to set focus when specific condition meets 
      myButton1.Focus(); 
     } 
    } 
+0

是的,但是當我這樣做時......頁面仍在加載,並且暫時顯示該項目的重點,但隨後它會回到頁面的頂部...... - 對不起,問題不是很清楚,但是您理解得很好 – user710502

0

使用隱藏字段並將其值設置爲您在進行回發之前正在驗證的控件的controlId。並且在頁面加載事件中,您可以檢查隱藏字段的值並關注該控件。

或者您可以使用validationcontrols進行驗證。

相關問題