На самом деле, вы должны кодировать свои значения для URL с помощью HttpServerUtility.UrlEncode , метод:
example.aspx?name=<%=Server.UrlEncode(name)%>&sku=<%=Server.UrlEncode(sku)%>
Кодировка URL гарантирует, что все браузеры
будет правильно передавать текст в URL
строки. Символы, такие как вопрос
знак (?), амперсанд (&), знак косой черты
(/), и пробелы могут быть усечены или
испорчен некоторыми браузерами. Как
результат, эти символы должны быть
закодированы в тегах или в запросе
строки, где могут быть строки
повторно отправлено браузером в запросе
строка.
EDIT:
давайте проверим это с указанными вами значениями:
name = Bellagio™ 16 1/2" High Downbridge Outdoor Wall Light
,
sku = 46910
: сначала я создал страницу с 2 свойствами:
public string Name
{
get
{
return "Bellagio™ 16 1/2\" High Downbridge Outdoor Wall Light";
}
}
public string Sku
{
get
{
return "46910";
}
}
и добавьте определение ссылки на страницу:
<a href='1.aspx?name=<%=Server.UrlEncode(Name)%>&sku=<%=Server.UrlEncode(Sku)%>'>
this is a link
</a>
и затем захватите эти значения (сначала нажмите на ссылку):
protected void Page_Load(object sender, EventArgs e)
{
var name = Request.QueryString["name"];
var sku = Request.QueryString["sku"];
}
эти значения точно такие же, как вы указали: Bellagio™ 16 1/2\" High Downbridge Outdoor Wall Light
и 46910
.
К сожалению, мне не удалось воспроизвести неверный URL, который вы разместили в своем первом комментарии: LifeSizePDF.aspx?productname=Bellagio&%238482%3b+16+1%2f2&quot%3b+High+Downbridge+Outdoor+Wall+Light&shortsku=46910%2f