难道不能获取放在<asp:Content></Content>中的TextBox???
我在Page_Load()下写了这样一句
this.Response.Write("<script>document.getElementById('page_no').focus();</script>");
page_no是Content下的一个文本框
运行时会出现document.getElementById('...')为空或不是对象我执行Page.SetFocus("page_no")也不能把焦点设置到那个TextBox上
请问是怎么回事啊.net 2.0

解决方案 »

  1.   

    this.Page.RegisterStartupScript("tt", string.Format("<script>document.getElementById('{0}').focus();</script>", page_no.ClientID));
      

  2.   

    你可以看一下页面的源文件,page_no控件的id属性已经改变了
      

  3.   

    是啊
    能不能解释一下?为什么还会有好多乱码?
    帮助里讲RegisterStartupScript方法已过时
      

  4.   

    还有这段代码应该放在哪里?
    Page_Load()??
    Page_Init()??
      

  5.   

    过时也能用啊
    或者替换为ClientScript.RegisterStartupScript你可以启动trace看一下
      

  6.   

    Page_Load里,
    Page_Init()没有用过,不清楚,你试试吧
      

  7.   

    直接复制你的代码到Page_Load下不行啊
      

  8.   

    如是我在Page_Load里写this.page_no.Focus();
    在页面源里会有这样一段
    <script type="text/javascript">
    <!--
    WebForm_AutoFocus('ctl00_ContentPlaceHolder3_page_no');// -->
    </script>
      

  9.   

    好象可以修改.Page.Master.Controls["XXX"].具体没做过,LZ可以试试
      

  10.   

    我生成的代码是这样的
    <script>document.getElementById('ctl00_ContentPlaceHolder1_page_no').focus();</script>
    WebForm_AutoFocus是将调用了控件的Focus()方法后自动添加到页面上的,
      

  11.   

    是啊,但是还是没要定位到那个TextBox啊
      

  12.   

    啊........
    不会吧    ,我的完全没问题啊.lz的代码?页面和cs的能贴出来吗
      

  13.   

    <%@ Page Language="C#" MasterPageFile="~/test/test2/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_test2_Default" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <asp:TextBox ID="txt" runat="server"></asp:TextBox>
    </asp:Content>using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class test_test2_Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.txt.Focus();
        }
    }这是在另外一个项目里测试的,也不行