我有一个ASP.NET按钮,有时不回发。我在IE开发人员中检查了这一点,发现当按钮不起作用options.clientSubmit
在函数WebForm_DoPostBackWithOptions()
我的按钮代码
<asp:Button
runat="server"
ID="btnSubmit"
CssClass="button"
OnClick="btnSubmit_Click"
meta:resourcekey="btnSubmitResource1" />
内部WebForm_DoPostBackWithOptions(options)
if (options.clientSubmit) {
__doPostBack(options.eventTarget, options.eventArgument);
}
有谁可以告诉我为什么按钮有时可以工作,有时却不行?我该怎么办才能让它始终有效?
答案 0 :(得分:3)
这可能是一种可能性:
检查页面上是否有Validators
未分组到任何ValidationGroup
且可能显示为false(可能是因为容器可见为false)。此验证器可能正在验证在此情况下无关的控件,并导致回发取消,说明它无效。
如果您发现任何相关控件的分组,请为所有相应的ValidationGroup
分配Validators
,然后将该组分配给您的提交控件(以回发为准)。这是我见过的最常见的错误..
答案 1 :(得分:2)
尝试添加CausesValidation =“False”,看看会发生什么。我怀疑你有一些没有通过的验证。
答案 2 :(得分:1)
您没有使用任何东西来阻止重复提交表单?
我有完全相同的问题,.Net验证方法表明表单有效,但options.clientSubmit始终为false:S
罪魁祸首原来是:
<script type="text/javascript">
$(document).ready(function() {
$('.prevDblSubmit').preventDoubleSubmit();
})
</script>
答案 3 :(得分:0)
这似乎应该有效,而不是使用meta:resourcekey =“btnSubmitResource1”,尝试显式本地化。请参阅问题:ASP.NET: explicit vs implicit localization?