Το πρόβλημα σίγουρα δεν έχει να κάνει με το encoding. Κάτι άλλο περίεργο συμβαίνει στον κώδικα σου. Προφανώς, αν κάνεις encode μία παράμετρο θα πρέπει να την κάνεις μετά decode. Για να είναι κενό όμως το Message κάτι άλλο περίεργο θα γίνεται. Δεν έχει νόημα να ψάχνεις για το πρόβλημα στο encoding.
Για του λόγου το αληθές, έφτιαξα μία απλή φόρμα με τον παρακάτω κώδικα σε ένα κουμπί
private void button1_Click(object sender, EventArgs e)
{
string url = String.Format("http://localhost:1129/default.aspx?RND=0,533424&AFM=146107930&Message={0}", Uri.EscapeDataString(this.textBox1.Text));
this.webBrowser1.Url = new Uri(url);
}
και ένα web application με το παρακάτω πολύ απλό default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Server._Default" %>
<!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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%
var name=Uri.UnescapeDataString(Request.QueryString["Message"]);
Response.Write(name); %>
</div>
</form>
</body>
</html>
Και δεν αντιμετώπισα κανένα πρόβλημα. Αν προσέξεις, το URL που φτιάχνω είναι ίδιο με το δικό σου.
Θα πρέπει καταρχήν να δοκιμάσεις κι εσύ με μία απλή σελίδα να δεις αν εξακολουθεί να υπάρχει το πρόβλημα. Αν εξαφανιστεί, θα ξέρεις ότι το πρόβλημα βρίσκεται στον κώδικα της σελίδας σου. Αν όχι, θα βρίσκεται στον κώδικα της φόρμας σου.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos