2013-09-06 9 views
4

У меня есть список объектов комментариев в представлении. В каждом комментарии есть один файл cookie, который указывает статус пользователя. Пример: like, spam, ...Как читать файл cookie MVC3?

В представлении я хочу прочитать соответствующий куки каждого комментария, чтобы отобразить правильный вид для пользователя. Пример: пользователь A, которому понравился комментарий B, тогда в представлении отобразится кнопка, отличная от

Я не хочу читать cookie в контроллере, потому что возвращаемые данные представляют собой список объектов комментариев.

Мой вопрос: как читать cookie непосредственно с учетом MVC3?

+0

Не могли бы вы добавить еще одну колонку в модель View? Итак, при подготовке списка комментариев в контроллере вы можете подготовить статус для каждого комментария. Теперь важная логика уже выполнена в вашем контроллере. Теперь ваш взгляд может решить, что делать? –

+0

@PKKG: объект комментария не содержит поля статуса. Но если это произойдет, это создаст соответствующий столбец в базе данных, потому что мой проект был создан по первому методу кода, и мне это не нравится. У вас есть решение для чтения cookie в View? –

ответ

1

для чтения Cookie:

var cookie = Request.Cookies["Key"]; 
    ViewBag.MyCookie= int.Parse(cookie); 

и показать его в виду как:

@ViewBag.MyCookie; 
+0

для отображения в поле зрения напрямую, используйте @ HttpContext.Current.Request –

+0

Первое решение исходит от контроллера, но я хочу прочитать cookie в представлении. Второе решение - получить переменную GET, а не получать cookie. Можете ли вы показать по-другому? –

11

Ввиду бритвой в @ {} использования блока ниже кода.

string val = ""; 
if (Request.Cookies["CookieName"] != null) { 
    val = Request.Cookies["CookieName"].Value;   
} 
+1

Нужно ли мне «использовать»? Я получаю эту ошибку в своем представлении: «Имя запроса не существует в текущем контексте». Я использую asp.net core mvc. – JedatKinports

0

использование Request.Cookies

строка Val = Request.Cookies [ "CookieName"] ?. значение;

Смежные вопросы