如何使用JavaScript

时间:2017-01-29 09:31:40

标签: javascript jquery angularjs asp.net-mvc razor

我是ASP .NET,MVC和AngularJS的新手,所以我试图解决这个问题。

我有一个名为 Words.cs 的模型,其中包含:

namespace liveSearch.Models
{
    public class Words
    {
        public int ID { get; set; }
        public string Word{ get; set; }
    }
}

数据库已经填充了数据,我想使用JavaScript / JQuery从数据库中获取每个 Word ,这样我就可以在JavaScript等中操作这些数据。

我目前在 index.cshtml 中使用了Razor,其中包含:

@{
     foreach (var item in Model)
     {
         <li>
             @Html.DisplayFor(modelItem => item.Word)
         </li>
     }
 }

这适用于获取和显示模型中的所有单词,但我想摆脱Razor并使用JavaScript / Jquery来获取数据。

理想情况下,我希望从DB获取所有单词(我不关心ID)并将其添加到.js文件范围内的数组中。

问题是我无法弄清楚如何使用JavaScript或AJAX访问数据库

我想我可以使用$.get()$.ajax(),但我真的不知道如何在数据库/模型中使用它。

我还在Stackoverflow上阅读了其他一些帖子,说这可以做到,但由于某种原因,我无法将这些例子应用到我的案例中。

2 个答案:

答案 0 :(得分:0)

您可以在页面加载或按钮上单击要获取结果的位置调用此方法。

   $.ajax({
    url: "yourControllerMethod",


    dataType: "json",
    success: function(data){
    alert(data)
      // here you will get the json data.
      // now uisng jQuery you can run a loop and show the data where you want to do 
      }
 });

答案 1 :(得分:0)

首先,您需要在控制器中创建一个返回Json的操作方法。像这样:

public JsonResult SomeAction()
{
   var list = context.Words.ToArray();
   return Json(list);
}

然后在您的视图中,您只需使用ajax来获取数据:

$.ajax({
type: 'GET',
url: '@Url.Action("SomeAction", "ControllerName")',
dataType: 'json',
success: function (data) {
  //the data parameter will be an array of objects. The objects will be of type Words
  //so data[0].Word(javascript) would be equal to list[0].Word in your SomeAction method(C#)
}
});