1

我正在尝试在我的 ASPX 页面中设置一个默认按钮。我有一个母版页,所以表格就在那里。我在内容页面中有一个面板,其中包含一个表格,该表格组织了许多文本框、下拉列表和其他输入。表格的最后一行包含一些按钮,其中一个我想成为默认按钮。在做了一些研究之后,我尝试了以下但没有成功。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
       pnlHolder.DefaultButton = cmdSearchJob.ClientID

我也试过

pnlHolder.DefaultButton = cmdSearchJob.UniqueID

Dim cmdDef As Button = pnlHolder.FindControl("cmdSearchJob")
pnlHolder.DefaultButton = cmdDef.UniqueID

但两者都抛出异常“'pnlHolder'的 DefaultButton 必须是 IButtonControl 类型的控件的 ID。” .

我看过一些 Javascript 解决方案,但希望能够为面板设置 defaultButton。

4

4 回答 4

2

尝试设置DefaultButton父窗体的。

C#:

 this.Page.Form.DefaultButton = cmdSearchJob.UniqueID;

VB?:

me.Page.Form.DefaultButton = cmdSearchJob.UniqueID

类似的问题:Allow Enter key to login in asp.net?

于 2010-07-22T20:45:00.547 回答
0

终于找到是什么了。尝试添加另一个没有 CSS 的按钮,等等,它只是弹出一个 javacsript alert() 进行测试。当它在表格之外时,能够将其设置为默认按钮。由于提交按钮是表格中的一系列按钮之一(不是一个非常漂亮的 UI,但用户需求和所有这些),我使用了这个附加按钮并将其样式设置为 display:none 并让它调用相同的子例程后面的代码。

所以,简短的回答,它没有在表格中看到它。

谢谢各位的意见。

我仍然不知道为什么它不会设置按钮。

于 2010-07-23T14:22:11.547 回答
0

尝试将其设置为:

cmdSearchJob.ID

面板将调用 FindControl 来获取客户端 ID 本身

于 2010-07-22T20:25:12.780 回答
0

你可以在前端的控件中设置它吗?

<asp:Panel id="pnlHolder" DefaultButton="cmdSearchJob">
<asp:Button id="cmdSearchJob" runat="server" Text="Search" />
</asp:Panel>

另外,这可能值得知道,cmdSearchJob 是什么类型的对象?它是标准的 asp.net 按钮控件吗?

于 2010-07-22T21:05:01.670 回答