如何在其他ContentPlaceHolder中设置焦点文本框? - MVC2

时间:2011-04-20 17:49:36

标签: asp.net-mvc-2 contentplaceholder site.master

问候,

我一直在网上扫描如何做到这一点,但到目前为止还没有运气。有很多解决方案,特别是在这个网站上(谢谢你),但似乎没有一个适合我。这很可能是因为我现在只学习asp.net 4个月了,而且缺乏必要的知识。

我想要做的是在加载页面时将注意力集中在用户名输入文本框上。我见过很多解决方案,比如“defaultfocus”,正文载入等等。任何人都可以给我一个简单的方法来实现这个目标吗?

我们的项目是一个MVC 2 Web应用程序。我们有一个主站点,它收集所有内容占有者。这是logon.aspx的链接

<div id="Clogin" onclick="logout();">
    <asp:ContentPlaceHolder ID="LoginContent" runat="server" />            
</div>

LogOn.aspx几乎与自动生成的一样。这是我想要关注的文本框:

<div class="login-field">
    <%: Html.TextBoxFor(m => m.UserName)%>
    <%: Html.ValidationMessageFor(m => m.UserName) %>
</div>

如何在主页面或LogOn页面中触发onload事件,以便在该特定文本框上生成焦点?

提前致谢,并且不得不依赖您的知识而道歉。

此致

尼古拉斯

1 个答案:

答案 0 :(得分:1)

您需要使用javascript。如果您使用的是jquery,则可以包含以下脚本:

$(function() {
    $('#UserName').focus();
});

另一种可能性是在body标签中执行此操作:

<body onload="document.getElementById('UserName').focus();">