ASP.NET文本框中的“<! - ”字符组合可防止回发

时间:2016-03-27 17:45:22

标签: c# html asp.net

所以这很奇怪,在搜索时我找不到任何关于它的信息。

我有一个ASP.NET webforms应用程序,我正在使用AJAX Control Toolkit的Modal Popup扩展程序。在这个弹出窗口中,我有一个多行文本框和一些按钮。两者都是ASP控件。我发现进入角色组合后“

以下是对话框的图片:

The dialog that won't work

以下是它的标记:

<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>

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:2)

问题来自ASP.NET在提交页面时执行的请求验证。您可以在页面级别将其关闭,如下所示:

<%@ Page ValidateRequest="false" ... %>

另一种方法是,如果要保留验证,则在将表单提交到服务器之前对字段内容进行编码,然后在代码隐藏中对其进行解码。