HtmlDecode()似乎不工作

本文关键字:工作 HtmlDecode | 更新日期: 2023-09-27 18:14:55

我正在从aspx页面发送一些参数到一个带有ajax的c# webmethod。我不得不对注释进行编码,并使用replace来删除撇号,因为我找不到任何其他方法来删除撇号。作为一个实验,我添加了一些字符,如$&%'等,以确保它们被处理。当把评论带回gvPSTNResults_RowDataBound()事件时,我已经写了一些代码来解码它,然后再回到gridview,它似乎不起作用。

注释单元格的内容看起来像这样(xxx之间应该是字符&$%等),但你可以看到他们没有解码:bbbbaaaaa'xxx%40xxx~xxx%24xxx%26xxx%2Cxxx%3Fxx

如有任何建议,不胜感激

c#解码从数据库返回的注释:

Label lblComments = new Label();
lblComments = (Label)e.Row.FindControl("lblComments");
string strComments = lblComments.Text;
strComments = System.Net.WebUtility.HtmlDecode(strComments);
lblComments.Text = strComments;
Jquery Ajax:
$("#btnEditFields").click(function () {
var strSupplierOrderNo = $("#<%=tbPopUpEditSuppOrdNo.ClientID%>").val();
var strComment = $("#<%=tbPopUpEditComments.ClientID%>").val();
strComment = encodeURIComponent(strComment);
strComment = strComment.replace(/'/g,"'''");
var strCurrentStage = $("#<%=ddlPopUpEditCurrentStage.ClientID%>").val();
var strReviewDate = $("#<%=tbPopUpEditReviewDate.ClientID%>").val();
var strOrderDate = $("#<%=tbPopUpEditOrderDate.ClientID%>").val();
var strRequiredLive = $("#<%=tbPopUpEditRequiredLiveDate.ClientID%>").val();
var strActualAppointmentDate = $("#<%=tbPopUpEditActualAppointmentDate.ClientID%>").val();
var strOtherRef = $("#<%=tbPopUpFieldOtherRef.ClientID%>").val();
if (confirm("You are about to add a new comment to order " + strPSTNNum + "?")) {
$.ajax({
type: "POST",
url: "PSTN_OrderManagementTracker.aspx/updatePSTNDataInDB",
data: "{'args':'" +strServiceID+ "', 'args1':'" +strSupplierOrderNo+ "', 'args2':'" +strComment+ "', 'args3':'" +strCurrentStage+ "', 'args4':'" +strReviewDate+ "', 'args5':'" +strOrderDate+ "', 'args6':'" +strRequiredLive+ "', 'args7':'" +strActualAppointmentDate+ "', 'args8':'" +strOtherRef+ "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert("Comment successfully added!!!");
location.reload();
},
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
});
}
return false;
});
});

HtmlDecode()似乎不工作

尝试使用Uri.UnescapeDataString()