У меня есть 3 формы, Associate.cs, HomeController.cs, Index.cshtml.
DataTable в JSON контролер в jqGrid
я загружаю DataTable
из Associate.cs
и использовать этот код, чтобы получить его в формат JSON.
public string GetAssociateFromDB()
//code omitted
var json = JsonConvert.SerializeObject(dt, Formatting.Indented);
jsonData = json;
}
}
return jsonData; //return is good
Я называю это от HomeController.cs
.
public JsonResult GetJsonData()
{
Associate associate = new Associate();
string jsonData = associate.GetAssociateFromDB();
System.Diagnostics.Debug.WriteLine(jsonData); //for testing purposes
return Json(jsonData, JsonRequestBehavior.AllowGet); //need to pass to `Index.cshtml`
}
Однако этот код не попасть, если я не поставил метод в этом блоке:
[HttpGet]
public ActionResult Index()
{
GetJsonData(); //if not called here, it never gets hit.
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
Затем я пытаюсь передать его Index.cshtml через $.getJSON
метод, но никогда не достигает этого.
jQuery(document).ready(function() {
var mydata;
$.getJSON('@Url.Action("HomeController", "GetJsonData")', function(data) {
datatype: 'json'
mydata = data;
console.log(data); //unsure if this works or not.
});
Я тогда пытаюсь поставить эти данные для jqGrid
(это только при коде выше):
$("#grid").jqGrid({
data: mydata,
datatype: "json",
width: '100%',
colNames: ["Seq ID", "Fund ID", "Name", "Fund", "Bonus", "Allocation", "Blank", "Begin", "End"],
colModel: [{
name: 'seqid',
index: 'seqid',
editable: true,
},....//Code omitted
Я не могу показаться, чтобы получить данные из Controller
в Index.cshtml
. Я читал в блоге, что есть проблема с cache
в IE 8, и это то, что я тестирую, но я уверен, что это не моя первоначальная проблема.
Я читал документацию jQGrid и искал много раз, но единственный пример для такого рода вещей - для PHP или в другом контексте. Я попытался поставить [HttpGet]
выше метода GetJsonData
, и это тоже не сработало.
Также важно отметить, что я не писал много (любого) jQuery раньше.
@ Url.Action ("HomeController", "GetJsonData")»это правильно? – SivaRajini
Я не уверен. Я не могу заставить код ударить его. –
это не ударит. Потому что неправда – SivaRajini