【问题标题】:Insert.aspx.vb - Set focus to control in dynamic FormViewInsert.aspx.vb - 将焦点设置为动态 FormView 中的控件
【发布时间】:2013-07-03 20:19:45
【问题描述】:

我的 ASP.NET LINQ to SQL 网站中的动态 asp.net FormView(在 Insert.aspx.vb 中)有点问题。这是 FormView 的代码...

        <asp:FormView runat="server" ID="FormView1" DataSourceID="DetailsDataSource" DefaultMode="Insert"
            OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" RenderOuterTable="false">
            <InsertItemTemplate>
                <table id="detailsTable" class="DDDetailsTable" cellpadding="6">
                    <asp:DynamicEntity runat="server" Mode="Insert" />
                    <tr class="td">
                        <td colspan="2">
                            <asp:LinkButton runat="server" CommandName="Insert" Text="Insert" />
                            <asp:LinkButton runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" />
                        </td>
                    </tr>
                </table>
            </InsertItemTemplate>
        </asp:FormView>

当此表单显示在浏览器中时,有 5 个用户输入控件和两个按钮(插入/取消)。但是在代码中,我没有看到对 5 个用户输入控件的任何引用,除非它们由这行代码表示...

    <asp:DynamicEntity runat="server" Mode="Insert" />

首先,我假设这行代码动态构建用户输入控件是否正确? 而且,我的实际问题——我需要在页面初始化时将焦点设置为这些输入中的第一个。基本上,当有人选择插入新项目并被发送到此页面时,我希望他们能够立即开始输入,而无需实际单击该文本框即可开始。任何帮助将不胜感激?

【问题讨论】:

  • 动态数据站点非常适合快速设置,但一旦您开始尝试自定义其 UI 和功能,它们很快就会成为负担。我是根据经验说话的。除了查看呈现的 HTML 然后使用 JavaScript 或 jQuery 强制焦点之外,我不知道如何自定义焦点。但我会告诉你,如果你计划让这个应用程序不断变化,那么在改变方向之前立即远离动态数据。

标签: asp.net formview


【解决方案1】:

我能够通过代码添加搜索字段来解决我的问题,然后在 Page_Load 事件中使用它...

    If table.DisplayName = "Employees" Then
        MultiSearchFieldSet.Visible = True
        txbMultiColumnSearch.Focus()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-26
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2011-03-21
    相关资源
    最近更新 更多