проблемы амперсанд URL-кодирования

2

Я жестко кодирую URL-адрес, чтобы иметь что-то вроде этого:

"/ContactUs.aspx режим = New &? Форма = Контакт"

страница отображает ниже как часть URL-адреса...

Режим = New & амп% 3bform = контакт

поэтому страница перерывается, когда я переделываю эту страницу. и попробуйте Request.QueryString [ "form" ].

как я могу заставить его вести себя с символом и

  • 0
    Можете ли вы показать нам Код перед тем, где вы это делаете? Некоторые элементы управления могут кодировать текст внутри них.
Теги:

1 ответ

4

Вы пытались выйти из амперсанда, используя объект HTML &? Амперсанды в URL-адресах должны быть экранированы. Вы также должны URL-кодировать любые значения, переданные в строке запроса - я думаю, что HttpUtility.UrlEncode() делает это (у меня на голове).

Например, ваш URL должен быть:

/ContactUs.aspx?mode=New&form=Contact

Однако вам не нужно делать это, если вы используете <asp:HyperLink />, поскольку свойства NavigateUrl автоматически кодируются.

Смотрите эту статью о кодировке URL, почему вы должны это делать. В .NET вы можете использовать метод HttpUtility.UrlEncode для этого. Это также доступно через Server.UrlEncode текущего HttpContext.

  • 0
    Мне нужно больше информации, пожалуйста. Спасибо
  • 0
    Я попытался расширить свое объяснение выше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню