所以这很奇怪,在搜索时我找不到任何关于它的信息。
我有一个ASP.NET webforms应用程序,我正在使用AJAX Control Toolkit的Modal Popup扩展程序。在这个弹出窗口中,我有一个多行文本框和一些按钮。两者都是ASP控件。我发现进入角色组合后“
以下是对话框的图片:
以下是它的标记:
<div id="notes" style="display: none">
<asp:UpdatePanel id="upnlNotesHeader" runat="server" class="logHeader">
<ContentTemplate>
<asp:Label ID="lblNotes" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<div class="logBody" style="height:200px">
<asp:UpdatePanel ID="upnlNotes" runat="server">
<ContentTemplate>
<asp:HiddenField ID="hdnNotesJswo" runat="server" />
<asp:TextBox ID="txtNotes" runat="server" TextMode="MultiLine" MaxLength="4000" Font-Names="Arial" Rows="12" Columns="62" style="margin: 5px 0 0 5px"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="logBtns">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="btnSaveNotes" runat="server" Text="Save" CssClass="logBtn" OnClick="btnSaveNotes_Click" />
<asp:Button ID="btnCancelNotes" runat="server" Text="Cancel" CssClass="logBtn" OnClick="btnCancelNotes_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
有谁知道为什么会这样?
答案 0 :(得分:2)
问题来自ASP.NET在提交页面时执行的请求验证。您可以在页面级别将其关闭,如下所示:
<%@ Page ValidateRequest="false" ... %>
另一种方法是,如果要保留验证,则在将表单提交到服务器之前对字段内容进行编码,然后在代码隐藏中对其进行解码。