Как использовать outputcache в пользовательском контроле со свойствами управления - PullRequest
2 голосов
/ 21 февраля 2011

У меня есть UserControl, который должен изменяться только на основе двух параметров URL.

Проблема в том, что у него есть публичное свойство, которое используется на вызывающих страницах, поэтому оно выдает NullReferenceException для моего свойства.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

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

Вы не можете кэшировать UserControl, если у него есть переменные свойства, которые определяют его содержимое. Вам необходимо поместить элемент управления кэшем на странице содержимого, которая содержит этот элемент управления. Затем добавьте кеш на страницу контента:

<%@ OutputCache Duration="120" VaryByControl="JobList" %>

Где переменная по элементу управления - это идентификатор элемента управления, который вы хотите кэшировать. Затем укажите свойство для этого элемента управления:

<%@ OutputCache Duration="120" VaryByControl="JobList.LoggedInUserID" %>

Мне кажется, это работает!

0 голосов
/ 05 мая 2011
...