我是一个新手,我在阅读数据时遇到问题,我希望从数据库中获取数据并希望在一个范围内显示。我的问题是,我已经将数据带入控制器,但现在我想在视图中显示该数据。我能够从列表中访问特定数据,但我想以重复模式显示数据,就像新闻一样。 我的控制器部分在这里给出
public ActionResult Index()
{
List<Quote> quote = dbContext.quotes.ToList();
return View(quote);
}
查看部分
<blockquote>
@foreach
(var items in @Model)
{
@items.quote
}
</blockquote>
我应该在这里实现什么逻辑来在重复模式下获取数据,这样我每小时都可以引用数据。
答案 0 :(得分:1)
您可以在javascript中使用location.reload();
,它会每小时重新加载您的网页并获取最新消息:
@model IEnumerable<MVCTutorial.Models.Quote>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Quotes</title>
<script type="text/javascript">
setInterval(function ()
{
location.reload();
}, 3600000);//3600000 milliseconds = 1 hour
</script>
</head>
<body>
<blockquote>
@foreach(var item in Model)
{
<span>@String.Format("{0}-{1}",item.ID,item.QuoteName)</span><br />
}
</blockquote>
</body>
</html>
要定期只获取最新项目,您可以使用$.getJSON
拨打AJAX电话,并将最新项目附加到列表中。
控制器操作方法:
public JsonResult GetLatestNews()
{
//Write the query here to get the latest items...
List<Quote> quotes = dbContext.quotes.ToList();
return Json(quotes, JsonRequestBehavior.AllowGet);
}
查看:强>
@model IEnumerable<MVCTutorial.Models.Quote>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Quotes</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
setInterval(function () {
$.getJSON("@Url.Action("GetLatestNews","Quote")", function (data) {
for(var i = 0;i < data.length;i++){
var id = data[i].ID;
var quoteName = data[i].QuoteName;
var quote = "<span>" + id + "-" + quoteName + "</span><br />";
$("#quotes").append(quote);
}
});
}, 3600000);//3600000 milliseconds = 1 hour
});
</script>
</head>
<body>
<blockquote id="quotes">
@foreach (var item in @Model)
{
<span>@String.Format("{0}-{1}", item.ID, item.QuoteName)</span><br />
}
</blockquote>
</body>
</html>
答案 1 :(得分:0)
感谢aniruddhanath,其jquery插件帮助我完成了这个场景。
Index.cshtml
<div id="crotator">
<div id="quotes">
@foreach (var news in Model)
{
<p>@news.News</p>
}
</div>
<div id="authors">
@foreach (var news in Model)
{
<p>- @news.Author</p>
}
</div>
</div>
脚本块
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://www.jqueryscript.net/demo/Simple-jQuery-Content-Rotator-Plugin-Crotator/js/jquery-crotator.js"></script>
<script>
$("#quotes").crotator({
// optional changes
timeofExistence: 5000,
typeofTag: "<h3/>",
tagClass: "quotes"
});
$("#authors").crotator({
// optional changes
timeofExistence: 5000,
typeofTag: "<h4/>",
tagClass: "authors"
});
</script>