我在html中有这个代码。 Answer_P中的所有按钮都不起作用,但是对于另一个项目,相同的代码工作正常。我现在不知道为什么。 很感谢任何形式的帮助。 当我调试并点击Cancel_btn没有任何事件或request.to anuther字 不要运行Cancel_btn_Click函数
<asp:UpdatePanel runat="server" ID="U" UpdateMode="Conditional">
<ContentTemplate>
<div class="Div" style="box-shadow: 3px 2px 24px #000000">
<asp:Panel runat="server" ID="Show_P">
<div style="min-width: 300px; margin: 0px auto; text-align: center">
<div style="padding-top: 10px">
<table>
<tr>
<asp:GridView runat="server" ID="GRD" DataKeyNames="ID" AutoGenerateColumns="false" OnRowCommand="OnRowCommend_Click">
<Columns>
<asp:BoundField HeaderText="نام" DataField="Name" />
<asp:BoundField HeaderText="ایمیل" DataField="Email" />
<asp:BoundField HeaderText="موضوع" DataField="Subject" />
<asp:BoundField HeaderText="متن" DataField="Text" />
<asp:BoundField HeaderText="پاسخ" DataField="Answer" />
<asp:ButtonField ButtonType="Image" ImageUrl="../Image/Comment.png" CommandName="Answer" Text="پاسخ دادن" HeaderText="پاسخ دادن" />
</Columns>
</asp:GridView>
</tr>
</table>
</asp:Panel>
<asp:Panel runat="server" ID="Answer_P">
<table>
<tr>
<td>نام</td>
<td>
<asp:TextBox runat="server" ID="Name_txt" CssClass="Txt-class"></asp:TextBox></td>
</tr>
<tr>
<td>ایمیل</td>
<td>
<asp:TextBox runat="server" ID="Email_txt" CssClass="Txt-class"></asp:TextBox></td>
</tr>
<tr>
<td>موضوع</td>
<td>
<asp:TextBox runat="server" ID="Subject_txt" CssClass="Txt-class"></asp:TextBox></td>
</tr>
<tr>
<td>متن</td>
<td>
<uc1:CK_Editor runat="server" ID="Text_CK" />
</td>
</tr>
<tr>
<td>پاسخ</td>
<td>
<uc1:CK_Editor runat="server" ID="Answer_CK" />
</td>
</tr>
<tr>
<td>
<asp:Button runat="server" ID="Answer_btn" Text="پاسخ" CommandName="Answer" CssClass="btn-blue" /></td>
<td>
<asp:Button runat="server" ID="Cancel_btn" Text="لغو" CommandName="Cancel" CssClass="btn-blue" OnClick="Cancel_btn_Click" /></td>
</tr>
</table>
</asp:Panel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:0)
在页面加载事件中添加此代码
using AjaxControlToolkit;
添加ToolScriptManager
代替ScriptManager
修改强>
如果在多个更新面板中将控件注册为AsyncPostbackTrigger
,有时会出现此问题。
如果这不是问题,请尝试在脚本管理器声明后添加以下内容:
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args){
if (args.get_error() != undefined){
args.set_errorHandled(true);
}
}
</script>
此处讨论了更多解决方案:http://forums.asp.net/t/1066976.aspx/9/10
答案 1 :(得分:0)
如果您希望按钮工作,则必须使用触发器 试试:
<asp:UpdatePanel runat="server" ID="U" UpdateMode="Conditional">
<ContentTemplate>
.....
</ContentTemplate>
<Triggers >
<asp:AsyncPostBackTrigger ControlID="Answer_btn" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="Cancel_btn" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
如果你的按钮在页面顶部不起作用,请使用 EnableEventValidation =“false”:
<%@ Page Title="" Language="C#" ... EnableEventValidation="false" ....
答案 2 :(得分:0)
似乎将UseSubmitBehavior =“false”添加到按钮定义已解决 我的问题。您也可以将取消按钮与AsyncPostBackTrigger绑定为..
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Cancel_btn" />
</Triggers>
答案 3 :(得分:0)
我通过web.config中的代码解决了这个问题
<pages validateRequest="false">
答案 4 :(得分:0)
我遇到了同样的问题。只需将其添加到您的页眉:
<meta http-equiv="X-UA-Compatible" content="IE=9" />
请参阅此主题的答案: