Это, наверное, самый тупой вопрос, когда-либо существовавший здесь при переполнении стека.Но я получаю самые странные результаты из некоторого кода, с которым я работаю.Я пытаюсь заставить jqGrid работать в моем приложении MVC 2.
Мой домашний контроллер имеет метод действия для Index и GridData ... GridData принимает 4 параметра, 2 из которых не могут быть нулевыми, поэтому я добавляю атрибут defalutValue со значением один для них.Контроллер индекса перенаправляет на метод действия GridData, который затем открывает представление GridData ... Я не возвращаю представление в этой функции, но я возвращаю переменную Json ...
[Authorize(Roles="testRole")]
public ActionResult Index(string nextButton)
{
ViewData["identity_Name"] = identity.Name;
if (nextButton != null)
return RedirectToAction("GridData");
return View("Index");
}
public ViewResult windowsID()
{
return View();
}
public ActionResult GridData(string sidx, string sord, [DefaultValue(1)] int page, [DefaultValue(1)] int rows)
{
var jsonData = new
{
total = 1, // we'll implement later
page = page,
records = 3, // implement later
rows = new[]
{
new {id = 1, cell = new[] {"1", "-7", "Is this a good question?"}},
new {id = 2, cell = new[] {"2", "15", "Is this a blatant ripoff?"}},
new {id = 3, cell = new[] {"3", "23", "Why is the sky blue?"}}
}
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
}
Вот наиболеемоего кода Javascript.
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery("#list").jqGrid({
url: '/Home/GridData/',
datatype: 'json',
mtype: 'GET',
colNames: ['Id', 'Votes', 'Title'],
colModel: [
{ name: 'Id', index: 'Id', width: 40, align: 'left' },
{ name: 'Votes', index: 'Votes', width: 40, align: 'left' },
{ name: 'Title', index: 'Title', width: 200, align: 'left'}],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'Id',
sortorder: "desc",
viewrecords: true,
imgpath: '/scripts/themes/smoothness/images',
caption: 'My first grid'
});
});
Кажется разумным, верно?С какой стати она загружает страницу, а не перенаправляет на нее?Что, черт возьми, я могу здесь делать неправильно?Ну, наверное, много, но я думаю, что мне просто не хватает чего-то простого.