控制器:
public IActionResult queryMongoDb(string dbname) { ListmdList = new List (); if (!string.IsNullOrWhiteSpace(dbname)) { List document = mongo.FindFilterlData(new BsonDocument() { {"title",dbname} }); for (int i = 0; i < document.Count; i++) { MongoDbModel md = new MongoDbModel() { id = i + 1, title = document[i]["title"].ToString(), url = document[i]["title"].ToString(), likes = document[i]["likes"].ToDouble(), tags = mongo.getStrListByBson(document[i]["tags"]) }; mdList.Add(md); } } return PartialView("MongoDbPartial", mdList); }
最好在Shared中创建局部视图,这样减少了耦合度:
@model IEnumerable
@foreach (var item in Model) { @Html.DisplayNameFor(model => model.id) @Html.DisplayNameFor(model => model.title) @Html.DisplayNameFor(model => model.url) @Html.DisplayNameFor(model => model.tags) @Html.DisplayNameFor(model => model.likes) } @Html.DisplayFor(modelItem => item.id) @Html.DisplayFor(modelItem => item.title) @Html.DisplayFor(modelItem => item.url) @{ foreach (var tagsItems in item.tags) { @tagsItems
} }@Html.DisplayFor(modelItem => item.likes) @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
主视图:
@model IEnumerable@{ Layout = null;} Index
主要的思路是:
1.在主页面上定义个一div。
2.点击按钮(或者其他动作),触发div的load事件。
3.在前端js或者后台Action中避免页面缓存。
4.页面加载。