2012-03-16 1 views
0

На моем сайте ASP.NET MVC 3 мне нужно, чтобы ajax извлекал некоторые данные из ActionResult s после того, как страница была отправлена ​​в браузер пользователя.Уникальный идентификатор страницы, переданной пользователю в ASP.NET MVC3

Чтобы различать страницы, мне нужно, чтобы каждая страница была «оборудована» уникальным идентификатором, который имеет доступ к js-коду, который может предоставить «пропуск» для некоторых вызовов действий.

Я могу сгенерировать этот идентификатор как System.Guid на моем указателе, которое возвращает представление. Я могу назначить его в ViewBag и сохранить в хранилище данных для предстоящего использования. Для чего я должен отображать его на странице, чтобы позволить моему js-коду получить к нему доступ? Скрытый вход был бы достаточным? Как реализовать этот параметр в разметке Razor?

ответ

2

Использование помощника HiddenFor HTML, который будет оказывать скрытый ввод

@Html.HiddenFor(model => model.PageId) 

Вы можете получить доступ к этому в вашем яваскрипта коде, прежде чем сделать вызов AJAX.

var pageId=$("#PageId").val(); 
    $.post("mycontroller/action"+pageId,function(data) 
    { 
     //do whatever with response. 
    }); 
1

Скрытый вход был бы идеальным:

<input type="hidden" name="pageId" value="@Model.PageId" /> 
Смежные вопросы