焦点方法不适用于我的 gridview 但不会为文本框着色

Focus method not working on my gridview but does not color the textbox

我有一个启用了 Headerrow 的 gridview,在我的 headerow 下我有文本框,用户可以在其中输入值并单击插入以插入到数据库中。

用户想要: 1)焦点方法在gridview的第一个文本框 2) 根据焦点方法将文本框的颜色更改为浅灰色

** 成功创建了 jquery 允许我更改文本框的颜色 **

<head runat="server">
    <title></title>
    <link href="carmel.css" rel="stylesheet" type="text/css" />
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script type="text/javascript">
    $(document).ready(function() {
        $('INPUT[type="text"]').focus(function() {
            $(this).addClass("focus");
        });
        $('INPUT[type="text"]').blur(function() {
            $(this).removeClass("focus");
        });
    });
</script>
<style type="text/css">
.focus {
border: 2px solid black;
background-color: #D6D6D6;
}
</style>

</head> 

并将焦点设置到 gridview 中的第一个文本框,我正在这样做

 protected void Page_Load(object sender, EventArgs e)
        {
            TextBox txtproductline = (TextBox)GridView1.HeaderRow.FindControl("TextBox6");
            txtproductline.Focus();

        }

焦点有效,但它没有将文本框着色为浅灰色,当我点击下一个文本框时,它变成灰色,我是不是做错了什么??

我也试过

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {

              e.Row.FindControl("TextBox6").Focus();


            }  

上面的代码也将焦点设置在我想要的位置,但是 jquery 不起作用

当用户首次加载页面时

当用户点击键盘上的 Tab 键时

当我 运行 来自 Visual Studio 的应用程序时,它工作得很好,但是当托管在网络服务器上时,它的行为很有趣 任何 suggestions/fix 将不胜感激,祝您一天愉快,编码愉快

您的 Jquery 代码定义了在页面已加载(绘制)并且您的文本框已获得焦点后控件获得或失去焦点时发生的情况。 您可能可以添加 Page_Load 或将焦点放在第一行的位置,例如 txtproductline.CssClass="focus"