Как экранировать специальные символы для пост-параметров в методе Navigate - PullRequest
0 голосов
/ 19 декабря 2011

У меня такое же требование, как и в этом вопросе. Как открыть IE с информацией о публикации в C #?

Я пытался использовать ответ, предоставленный Энди С. на те же вопросы.Однако проблема, с которой я сталкиваюсь, заключается в том, что мне нужно отправить 2 параметра (в моем случае Request и Hash ), и я не уверен, как этого добиться с помощью метода навигации WebBrower.

Я попытался передать данные поста, поместив строку как «Request = ABC & Hash = 123», и сервер, похоже, не распознал параметры.

Ниже приведен HTML, который работает

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document Retrieval Service Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>    
<body onLoad="document.form1.submit();">
<form name="form1" method="post" action="http://abc.com/GetDoc/GetDoc.aspx">
    <!--Request: -->       
    <input name="Request" type="hidden" id="request" value="ABC">
<!--Hash:-->
   <input name="Hash" type="hidden" id="hash" value="123">
</form>
</body>
</html>

Редактировать: я могу выполнить эту работу, передавая дополнительные аргументы методу Navigate в соответствии с ответом на этот вопрос C # Публикация в браузере не удалась, есть идеи? .

Тем не менее, следующая проблема, с которой я сейчас сталкиваюсь, заключается в том, что у меня есть специальный символ амперсанд & в параметре запроса. Я попытался использовать System.Security.SecurityElement.Escape в параметре запроса, однако он все еще не 'не могу распознать другой параметр.

Edit2: я мог бы заставить его работать, используя System.Web.HttpUtility.UrlEncode вместо использования System.Security.SecurityElement.Escape

Спасибо, Prabhjot

1 Ответ

0 голосов
/ 19 декабря 2011

Я мог бы заставить его работать, используя System.Web.HttpUtility.UrlEncode вместо использования System.Security.SecurityElement.Escape

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...