У меня есть частичное представление, которое используется в 2 местах, одно использует модель представления в пост-модели с добавленным вручную HtmlPrefix, поэтому идентификатор поля выглядит следующим образом:
id="Model_Address_AddressLine1"
В другом месте мне не нужна модель представления, а идентификатор просто «AddressLine1». Однако это тот же частичный взгляд.
Однако, если я сначала захожу на страницу с «Model_Address_AddressLine1», IIS кэширует это частичное представление, а затем, когда я перехожу на другую страницу, он не выполняет привязку и проверку модели, поскольку идентификатор кэшируется как «Model.Address.AddressLine1», и он не Не тяните "AddressLine1".
Я попытался установить для вызова ajax значение cache:false и установить NoStore для атрибута OutputCache действий, но он по-прежнему кэширует идентификаторы и имя модели частичных представлений, есть ли способ остановить это?
Добавил этот код, если он помогает, это вспомогательный код, который добавляет префикс на одну из страниц для частичного просмотра, но не на другую:
return helper.Partial(partialName, accessor.Compile().Invoke(helper.ViewData.Model),
new ViewDataDictionary(helper.ViewData)
{
TemplateInfo = new TemplateInfo
{
HtmlFieldPrefix = prefix
}
})
Заголовки ответа подтверждают кеширование:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:en -US,en;q=0.8 Cache-Control:max-age=0 Соединение: keep-alive Cookie:__RequestVerificationToken=qnKmH92lRoXCZWl_146N3uPiGRnWJCRZis6V_6cQ7mUJUdlVfAQVAxeTBtnhdTgM2s_NezoZghwRCrqBrv4GcjrCZr0XqG-6bHqh7; ASP.NET_SessionId=dh225cux11sckpxl2uke30q3; FedAuth = 77u / PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U2VjdXJpdHlDb250ZXh0VG9rZW4gcDE6SWQ9Il9iZTI5MDk4OC01ZjdjLTQyZTktYjMxOS0zOGJhYzM5OTBlMjctMzg3NTUxQjQyM0JENjFDQzIwMEQyQTc2MTRBQzBDMDYiIHhtbG5zOnAxPSJodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy93c3MvMjAwNC8wMS9vYXNpcy0yMDA0MDEtd3NzLXdzc2VjdXJpdHktdXRpbGl0eS0xLjAueHNkIiB4bWxucz0iaHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvd3Mtc3gvd3Mtc2VjdXJlY29udmVyc2F0aW9uLzIwMDUxMiI + PElkZW50aWZpZXI + dXJuOnV1aWQ6YTM1MWFmNjItYzU0Mi00MzQ2LWI2NzYtNGIyNjE0Y2YxMjU2PC9JZGVudGlmaWVyPjwvU2VjdXJpdHlDb250ZXh0VG9rZW4 + хост: 127.0.0.1: 444 User-Agent: Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537,36 (KHTML, как Gecko) Chrome / 34.0.1847.131 Safari / 537,36 источник отклика Headersview Cache-Control: без кэша, без хранилища Content-Encoding: gzip Content-Length: 9958 Content-Type: text/html; charset=utf-8 Дата: вторник, 13 мая 2014 г., 08:15:52 по Гринвичу. Срок действия: -1. Прагма: без кэша.