Одним из шагов по предотвращению кэширования (помимо добавления соответствующих заголовков и т. Д.) Является добавление случайного числа в конец моих URL-адресов.
Я использую меню ASP.NET и будуЯ хотел бы добавить случайное число к URL-адресу навигации каждого элемента меню , когда на него нажимают .
. Я могу сделать это в событии MenuItemDataBound, но мне не очень повезло, если он сделал то же самое сСобытие MenuItemClicked.
Ответ (не могу ответить на свой вопрос в течение 8 часов, и у меня нет времени ждать так долго, вот мое решение на стороне сервера.)
Для этого на стороне сервера мне пришлось удалить карту сайта и привязку данных из меню.
Я просто добавил все элементы из карты сайта в качестве пунктов меню в коллекцию элементов в разметке меню.удаление свойства URL.Ключевым моментом здесь является удаление свойства url.
<asp:menu>
<items>
<asp:menuitem Text="Home" ToolTip="Go Home" Selectable="True" />
</items>
</asp:menu>
Затем в вашем коде вы можете обработать событие MenuItemClicked (которое должно теперь сработать, поскольку в разметке больше нет navateurl).
В коде события MenuItemClicked я просто делаю следующее:
string TimeStamp = DateTime.Now.ToString("yyyyMMddHHmmssfffffff");
// get iframe control - must have 'runat=server' attribute
HTMLControl display = CType(this.FindControl("display"), HTMLControl);
// dispatch menuitem
switch (e.item.valuepath)
{
case "Home":
display.attributes("src") = "home.aspx?=" + TimeStamp()
break;
.
.
.
}
Это решение на стороне сервера с iframe.