Название продукта не меняется в URL-адресе при изменении идентификатора Веб-форма ASP.Net

avatar
user1489440
9 августа 2021 в 07:07
42
1
0

У меня есть приложение ASP.Net Webforms с фреймворком 4.5.

У меня есть страница, на которой отображается товар. URL-адрес: /product/Toy1/toy1_ID.

.

Если я изменю часть идентификатора, например, toy1_ID на toy2_ID, на странице отобразится toy2, но URL-адрес останется прежним /product/Toy1/toy2_ID.

Есть ли способ обновить URL-адрес с Toy2 (название продукта) в URL-адресе, если часть идентификатора изменена

требуемый URL = /product/Toy2/toy2_ID

Если идентификатор изменен, то название продукта должно измениться в URL-адресе

Источник
wazz
9 августа 2021 в 09:07
0

Вы уверены, что это веб-формы? Страницы заканчиваются на .aspx?

JohnPete22
9 августа 2021 в 14:16
0

Если вы не выполняете какую-то переписку URL-адресов в WebForms, это выглядит как маршрутизация MVC.

erastl
9 августа 2021 в 16:32
0

Можете ли вы показать свой текущий URL-адрес, переписанный?

Albert D. Kallal
10 августа 2021 в 02:07
0

Вы меняете этот идентификатор в коде позади? Поскольку вы уже написали сообщение назад, рассмотрите возможность использования response.write("new url here") вместо кода, стоящего за ТОЛЬКО изменением значения id.

Albert D. Kallal
10 августа 2021 в 02:09
0

@wazz - проекты asp.net (даже веб-формы) по умолчанию используют то, что мы называем «дружественными URL-адресами», и эта настройка по умолчанию нестандартна - даже для asp.net + веб-форм. Правда, расширение файла aspx, но мы, как правило, даже не вводим его, не отображаем и даже больше не используем — и так было в течение некоторого времени. Так что теперь дополнительный «/» фактически становится параметром.

wazz
10 августа 2021 в 02:44
0

Ах да, забыл об этом. Я пару раз выключал.

user1489440
10 августа 2021 в 06:46
0

@AlbertD.Kallal Я меняю идентификатор в самом URL.

Ответы (1)

avatar
erastl
9 августа 2021 в 16:36
0

Этот ответ может быть более грубой силой, чем необходимо, но на одном из наших сайтов у нас есть аналогичная перезапись URL, и что мы делаем, чтобы разрешить такую ​​ситуацию, в коде productpage.aspx.cs мы получаем идентификатор и имя из URL-адреса и проверьте, соответствует ли имя URL-адреса имени для этого идентификатора в базе данных. Если это не так, мы создаем URL-адрес с правильным именем для этого идентификатора и делаем на него перенаправление 301.

user1489440
10 августа 2021 в 06:50
0

Я также переписываю внутри productpage.aspx.cs. Имеет смысл проверить, поставить галочку, а затем перенаправить. Я попробую это, а затем отмечу ваше предложение как ответ, если оно сработает.