【发布时间】: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 强制焦点之外,我不知道如何自定义焦点。但我会告诉你,如果你计划让这个应用程序不断变化,那么在改变方向之前立即远离动态数据。