See the example below.
1. Type backslash into TextField1
2. Type double quote into TextField2
3. Click on the button
4. The problem you described doesn't appear
So, please provide your full test case to reproduce. Please remove all things which are not required to reproduce.
Example
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
[DirectMethod]
public void Test(string value)
{
X.Msg.Alert("DirectMethod", JSON.Deserialize<object>(value).ToString()).Show();
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.Net Example</title>
<script type="text/javascript">
var onClick = function () {
X.Test({
filters: {
Code : TextField1.getValue(),
Name : TextField2.getValue()
}
});
}
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" DirectMethodNamespace="X" />
<ext:TextField ID="TextField1" runat="server" />
<ext:TextField ID="TextField2" runat="server" />
<ext:Button runat="server" Text="Send to server and deserialize">
<Listeners>
<Click Fn="onClick" />
</Listeners>
</ext:Button>
</form>
</body>
</html>