小编Rhy*_*ens的帖子

ASP.NET身份2记住我 - 用户被注销

我在我的MVC5应用程序中使用Identity 2.1.我将PasswordSignInAsync的isPersistent属性设置为true以启用"记住我":

var result = await SignInManager.PasswordSignInAsync(model.Username, 
  model.Password, 
  true, 
  shouldLockout: false);
Run Code Online (Sandbox Code Playgroud)

但是,如果我一夜之间保持登录状态,那么当我在早上刷新页面时,它会将我退出,我必须再次登录.在用户手动注销之前,如何防止自动注销?

它与身份使用的Cookie身份验证有关吗?我真的不了解Startup.Auth.cs中设置的CookieAuthenticationOptions.

new CookieAuthenticationProvider
{  
   OnValidateIdentity = SecurityStampValidator
      .OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
      validateInterval: TimeSpan.FromMinutes(30),
      regenerateIdentity: (manager, user)
      => user.GenerateUserIdentityAsync(manager))
}
Run Code Online (Sandbox Code Playgroud)

c# remember-me asp.net-mvc-5 asp.net-identity-2

10
推荐指数
1
解决办法
1万
查看次数

System.NullReferenceException 未将对象引用设置为对象的实例。关于模型实例化 - 有时

我收到 System.NullReferenceException 在模型实例化时未将对象引用设置为对象的实例,但仅有时如此。我的用户有时会遇到错误,但一旦他们重新提交,就不会发生异常。我不明白为什么会发生错误。

这是我来自 ELMAH 的错误日志:

System.NullReferenceException: Object reference not set to an instance of an object.


at Plus.Controllers.Review.ReviewNoteController.Save(ReviewNoteViewModel viewModel) in C:\Users\Rhys\Documents\Development\witplus-master\Plus\Controllers\Review\ReviewNoteController.cs:line 139
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-6 asp.net-mvc-5

7
推荐指数
1
解决办法
1万
查看次数

ASP.NET MVC5 Bootstrap 3模式窗体未验证客户端并且正在回发到页面

我有一个MVC5应用程序,我刚刚开始做一些Ajax.我有一个带按钮的页面,当点击它时会打开一个带有来自另一个动作的表单的Bootstrap模态.但是,当提交该模式窗体时,不调用jquery不显眼的验证,并且页面重定向到空白页面上的局部视图,而不是模态对话框内部.

所以,1:我如何在模态中使用jquery验证,以及2:如何使表单不刷新页面,而是将返回的视图重新加载到模态中?3:我对Ajax.BeginForm应该如何工作感到困惑,因为我认为它不会创建页面刷新.

这是包含加载模态的按钮的页面:

@using Plus.ViewModels
@model UserViewModel
@{
    ViewBag.Title = "Personal Details";
}
@using (Html.BeginForm(null, null, FormMethod.Post, new { @class = "form-horizontal" }))
{
    @Html.AntiForgeryToken()
// A separate form here

<div class="form-actions">
    <button class="btn btn-primary" type="submit">
      <i class="fa fa-save"></i>
       Save
    </button> |

 <a class="btn btn-primary" href="@Url.Action("ChangePassword", "Manage", new object{})" data-toggle="modal" data-target="#myModal">Change Password</a>

</div>
}


<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
    <div class="modal-dialog">
        <div class="modal-content">
        </div>
    </div>
</div>

@section Scripts {
    <script type="text/javascript">
        $('#myModal').on('shown.bs.modal', function () { …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc jquery twitter-bootstrap asp.net-mvc-5

6
推荐指数
1
解决办法
1万
查看次数

使用x-editable更新行中的值后,jquery数据表未排序

我正在使用 Datatables v 1.10.9 和 x-editable v1.5.1 我有许多行,其中一列的顺序值为整数。

最初加载表时,x-editable 会正确应用于行中的所有目标列。

<a href="#" class="Order editable editable-click" data-type="text" data-mode="inline" data-pk="1100" data-url="/Service/UpdateOrder" data-title="Update Order" data-inputclass="xeditable-number" >3</a>
Run Code Online (Sandbox Code Playgroud)

原来的

然后绘制表格并应用分页。

所以到目前为止一切都很好。当我使用 x-editable 编辑订单值时,它会正确保存到服务器端并调用成功回调。

正在更新

然而,尽管我在该成功回调中再次调用数据表 draw() 或通过单击列标题手动排序,但它不会正确排序,排序与列值更新之前相同。

最终的

这是我的代码。

$(document).ready(function () {

    //X-editable for order
    $('.Order').editable({
        error: function (response) {
            alert('error');
        },
        success: function (data, config) {
            alert('success');
            table.order([1, 'asc']).draw();
        },
    });

    var table = $('#sort1').DataTable({
        stateSave: true,
        filter: false,
        "pageLength": 25,
        "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
        "columnDefs": [
            {
                "type": "html",
                "targets": ['no-sort'], …
Run Code Online (Sandbox Code Playgroud)

javascript sorting jquery datatables x-editable

5
推荐指数
1
解决办法
6742
查看次数

映射自定义路由ASP.NET MVC5

我之前没有使用过.NET Routing.我有一个网址:http://myurl.com/Account/Login/?IsIPA=true.我希望能够使用以下内容点击此URL:http://myurl.com/IPA

这是我想要的唯一自定义路线.

我可以为这样的单个URL创建路由吗?

我的代码不起作用是:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapMvcAttributeRoutes();

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
        routes.MapRoute("IPA", "Account/Login/{IsIPA}", new { controller = "Account", action = "Login", IsIPA = "true" });

    }
Run Code Online (Sandbox Code Playgroud)

我收到错误:

IsIPA具有路由模板的路由上的约束条目Account/Login/{IsIPA}=True必须具有字符串值或者是实现的类型System.Web.Routing.IRouteConstraint.

c# asp.net-mvc url-routing asp.net-mvc-routing asp.net-mvc-5

4
推荐指数
1
解决办法
4703
查看次数