Уникальный идентификатор страницы, передаваемой пользователю в ASP.NET MVC3 - PullRequest
0 голосов
/ 16 марта 2012

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

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

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

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

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

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

Вы можете получить доступ к этому в своем коде javascript перед выполнением вызова ajax.

  var pageId=$("#PageId").val();
  $.post("mycontroller/action"+pageId,function(data)
   {
        //do whatever with response.
   });
1 голос
/ 16 марта 2012

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

<input type="hidden" name="pageId" value="@Model.PageId" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...