Я новичок в .net MVC.Я предполагаю, что моя проблема связана с настройкой маршрута.
То, что я хочу сделать: я получаю данные из базы данных, в контроллере передаю данные в формат json и передаю для просмотра, использую javascript-декодирование данных json и показываю наhtml.
Когда я пишу методы в TechnologyController, набираю localhost: portnumber / Technology / Index, нет декодированных данных json в формате html, но если я набираю localhost: portnumber / Technology / GetJson, он показывает мне страницу с чистымДанные JSON (что означает, что если я вызываю метод GetJson () отдельно, он работает)
Я пишу тот же код в HomeController, он работает правильно, все настройки маршрута по умолчанию: rout.MapRoute ("Default",// Имя маршрута "{controller} / {action} / {id}", // URL с параметрами new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Параметры по умолчанию);
// Это мой контроллер
public class TechnologyController : Controller
{
public ActionResult Index()
{
return View();
}
public JsonResult GetJson()
{
Technology myTech = new Technology(); //get data from database (Tested correct)
return Json(myTech.select(), JsonRequestBehavior.AllowGet);
}
}
// Это Javascript:
<script type="text/javascript">
$(document).ready(function() {
$.getJSON("Technology/GetJson/", null, function(data) {
sss.innerHTML+=data["title"];// this part is correct (I already tested,please ignore), the purpose is to parse json data to html.
.......
}
)};
)};
Я понимаю, если я называю "localhost: portnumber / Technology / Index",это только выполнить индекс мВот почему метод GetJson не вызывается, но какой URL-адрес следует вызывать для вызова index () и GetJson.