我希望我的网站能够跟踪用户会话并在访问页面时删除“.disabled”类,从而“解锁”下一页并在用户重新登录时保存这些更改。所以当一个细分已完成,解锁下一个。
我有ID访问的数据库跟踪页面,但无法理解如何检查数据库并在页面加载时应用css更改。
.disabled {
pointer-events: none;
cursor: default;
opacity: 0.6; } //Remove this class to unlock content
答案 0 :(得分:0)
以下是一些可能性: 假设您在加载页面之前以某种方式查询数据库。您可以在获取页面数据时在模型上添加一个属性。然后让view.cshtml从模型接收数据,放入在HTML中或使用razor @ model.VisitIDs或类似的东西。
另一种可能性是在控制器中编写一个方法,并在页面加载后使用ajax调用该方法。例如:
假设你有VisitMe.cshtml,VisitMe.js,VisitMeModel.cs,VisitMeController.cs
javascript可能如下所示:
// namespace used to organize code not required
var VisitMeNameSpace = {
var currentUser = GetCurrentUser();
var pageName = GetPage();
var visitMe_GetVisitMeVisitors = "ProjectName/VisitMe/GetVisitMeVisitors";
var args = {
page: pagename
}
$.ajax({
url: visitMe_GetVisitMeVisitors,
type: "GET",
data: args
})
.done(function (data) {
if (data is good)
$("selector").removeClass("disabled");
})
.fail(function(){
alert("There was a problem getting visitor IDs for this page");
});
}// end VisitMeNameSpace
// In your C# controller maybe something like
public JsonResult GetVisitMeVisitors(string page)
{
// whatever you are currently using to query database do that here. We will call this from VisitMe.js
var visitContainer = new ProjectContainerForVisitMe();
var visitRecords = (from record in visitContainer.VisitMeTableOrModel where record.page == page select record).ToList();
return Json(visitRecords, JsonRequestBehavior.AllowGet);
}
如果您需要更清晰,或者看起来我误解了这个问题,请告诉我。