![](/img/trans.png)
[英]How to stop an ASP.NET PostBack for a button click already managed by JavaScript?
[英]Javascript issue: Unable to postback on save button click in ASP.NET
我在彈出框中有一個文本框和“保存”按鈕,該文本框有一個必填字段驗證器。 我有一種情況,如果用戶意外忘記在文本框中輸入數據,然后單擊“保存”,這是預期的,將需要的字段驗證器插入。 但是,現在,如果用戶在文本框中輸入數據並單擊“保存”,則記錄不會在第一次單擊時保存,而是需要額外的單擊。 我知道其原因:第一次單擊該按鈕時不執行回發操作,但是第二次單擊並保存數據。
有人知道解決方法嗎? 最終用戶對此額外的點擊感到惱火。 請注意,沒有與之關聯的javascript函數。 它是從瀏覽器自動生成的javascript。
碼:
<div class="row">
<div class="col-md-12">
<div class="form-group">
<asp:Label runat="server" Text="" AssociatedControlID="txtTitle">
Title<span class="text-danger">*</span>
</asp:Label>
<asp:TextBox runat="server" CssClass="form-control" ID="txtTitle" >
</asp:TextBox>
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtTitle" Display="Dynamic" ErrorMessage="Required" ValidationGroup="questionTitle" CssClass="text-danger">
</asp:RequiredFieldValidator>
</div>
</div>
</div>
保存按鈕:
<div class="row">
<div class="col-md-3 col-md-offset-9">
<asp:LinkButton runat="server" ID="lnkSave" CssClass="btn btn-lg btn-block btn-success btn-lg" role="button" ValidationGroup="questionTitle" OnClick="lnkSave_Click">
<i class="fa fa-floppy-o"></i> Save
</asp:LinkButton>
</div>
</div>
驗證程序似乎是一個常見問題。
驗證器錯誤是假定在失去對文本框的關注時清除的錯誤
但是,顯然,如果您的驗證器Display
設置為Dynamic
,則在顯示錯誤消息時,它將導致觸發清除驗證器錯誤的操作失敗。
因此單擊兩次(第一次單擊觸發清除錯誤,該錯誤應該早先觸發但失敗,第二次觸發實際表單發布)
解決方案是將您的RequiredFieldValidator Display
更改為Static
更多信息結帳
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.