我的Asp.Net应用程序中有一个“登录”页面。我注意到,当我在#include <stdio.h>
void clever_switch (const char * const my_input) {
#define TWO_LETTERS_UINT(FIRST_LETTER, SECOND_LETTER) ((unsigned int) ((FIRST_LETTER) << 8) | (SECOND_LETTER))
switch (TWO_LETTERS_UINT(my_input[0], my_input[1])) {
case TWO_LETTERS_UINT('h', 'i'):
printf("You said hi!\n");
break;
case TWO_LETTERS_UINT('n', 'o'):
printf("Why not?\n");
break;
}
#undef TWO_LETTERS_UINT
}
int main (int argc, char *argv[]) {
clever_switch("hi"); /* "You said hi!" */
clever_switch("no"); /* "Why not?" */
return 0;
}
或Enter
文本框中按下username
键时,它会从我的Site.Master页面启动一个模式。我尝试了几种解决方案,包括向模态的password
添加默认按钮,以及尝试将Panel
应用于启动模态的UseSubmitBehavior=false
。最后一种方法失败,因为asp:LinkButton
没有UseSubmitBehavior
。为什么会发生这种情况,我该如何解决?
Master.Site
asp:LinkButton
注意:我也曾尝试添加JavaScript解决方案,但这也不起作用。基本上,它会失败,因为未定义文本框ID,而且我不确定如何正确地应用example中的解决方案:
LoginPage.aspx
<asp:button id="hiddenButton" runat="server" style="display:none;" />
<ajaxToolkit:ModalPopupExtender ID="uxReportModal" runat="server" PopupControlID="ReportPanel" TargetControlID="hiddenButton" CancelControlID="btnClose" BackgroundCssClass="modalBackground"> </ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="ReportPanel" runat="server" CssClass="modalPopupReport" align="center" style="display:none; text-align: left;" DefaultButton="hiddenButton">
....
<div style="text-align:center; margin-bottom: 20px;">
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onClick="btnSubmit_Click"/>
<asp:Button ID="btnClose" runat="server" Text="Close" />
</div>
</asp:Panel>
答案 0 :(得分:0)
我能够使用模式Panel
上方的“ hiddenButton”来解决此问题。这似乎是某种来自LinkButton
的默认提交行为。我必须在表单包装器(而不是面板)中设置“ DefaultButton =“ hiddenButton””。
<form runat="server" defaultbutton="hiddenButton">
然后,我禁用了“ hiddenButton”。我不明白为什么在ASP控件中没有内置的方法可以禁用此行为,但是这种黑客手段有效。
<asp:button id="hiddenButton" runat="server" type="button" Enabled="false" style="display:none;" />