MVC-如何根据访问的页面为用户ID保存CSS更改



我希望我的网站能够跟踪用户会话并删除" .disabled"类。用户登录。

我有一个数据库跟踪页面正在通过ID访问,但无法让我围绕如何检查数据库并在页面加载上应用CSS更改。

.disabled {
pointer-events: none;
cursor: default;
opacity: 0.6; } //Remove this class to unlock content

这是一些可能性:假设您在加载页面之前先以某种方式查询数据库。您可以在模型上添加一个属性,该属性在您获取页面的数据时被填充的属性。在html或使用razor @model.visitid或类似的东西中。

另一种可能性是在控制器中编写一种方法,并在页面加载后用Ajax调用该方法。例如:

说您有visitme.cshtml,vistme.js,vistmemodel.cs,vistmecontroller.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);
    }

请让我知道您是否需要更清晰,或者看起来像我误解了这个问题。

最新更新