我是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上阅读了其他一些帖子,说这可以做到,但由于某种原因,我无法将这些例子应用到我的案例中。
答案 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#)
}
});