小编Sae*_*med的帖子

更改ASP.NET标识消息

我在项目中使用ASP.NET Identity作为成员资格系统.创建用户后,我想检查结果,然后返回原始的IdentityResult错误.我该如何更改这些消息?

谢谢.

更新:

 public virtual async Task<ActionResult> Register(RegisterViewModel model)
 {
        if (ModelState.IsValid)
        {
            var user = new ApplicationUser() { UserName = model.UserName };
            var result = await UserManager.CreateAsync(user, model.Password);
            if (result.Succeeded)
            {
                FormsAuthentication.SetAuthCookie(user.UserName, false);
                return RedirectToAction("Index", "Home");
            }
            else
            {
                AddErrors(result);
            }
        }

        return View(model);
    }

    private void AddErrors(IdentityResult result)
    {
        foreach (var error in result.Errors)
        {
            //I need to change error text message here!
            ModelState.AddModelError("", error);
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc identity membership-provider asp.net-identity

8
推荐指数
1
解决办法
9579
查看次数

如何在ASP.NET MVC中中止操作

我想停止jQuery.ajax服务器端方法调用的操作.我可以$.ajax.abort()在客户端使用方法停止Ajax请求,但不能在服务器端停止.

更新:

我使用异步操作而不是同步操作,但我没有得到我想要的!如您所知,服务器无法同时处理多个请求,导致每个请求必须等到上一个请求完成,即使先前的请求被$ .Ajax.Abort()方法取消.我知道如果我使用[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]属性它几乎我想要但它不满足我.

最重要的是我想在用户端中止服务器端的处理方法.而已 :)

javascript c# ajax asp.net-mvc jquery

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

使用SignalR和IProgress接口的进度报告

我有一个Hub类,它有一个长时间运行的方法,我需要在它工作时显示一个进度条.

我读过这篇文章,我认为可以在异步方法中使用IProgress接口来发送长时间运行的操作状态.

我写了一个像这样的方法:

    public async Task<string> GetServerTime(IProgress<int> prog)
    {
        await Task.Run(() => {
            for (int i = 0; i < 10; i++)
            {
                prog.Report(i * 10);
                System.Threading.Thread.Sleep(200);
            }
        });

        return DateTime.Now.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

我尝试调用这样的方法:

 var appHub = $.connection.appHub;
 $.connection.hub.start();
 appHub.server.getServerTime()
              .done(function (time) {
                    alert(time);
               });
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获得进度报告.

c# asp.net-mvc websocket signalr signalr-hub

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

包含C#中比较字符串数组的方法

我想使用LINQ将sting字段与字符串数组进行比较,我已经编写了下面的扩展方法进行比较,但它无法正常工作.

 public static bool Contains(this string source, string[] keys)
    {
        foreach (var item in keys)
        {
            if (source.Contains(item))
                return true;
        }

        return false;
    }
Run Code Online (Sandbox Code Playgroud)

这是我的疑问:

string[] keys = key.Split('+');
        var pages = context.Pages.Where(x => x.Title.Contains(keys));
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

LINQ to Entities无法识别方法'Boolean Contains(System.String,System.String [])'方法,并且此方法无法转换为商店表达式.

c# linq extension-methods entity-framework linq-expressions

4
推荐指数
2
解决办法
6671
查看次数

使用相同的密钥从Request.Files获取所有文件

我有一些文件在Request.Files对象中具有相同的键,当我使用此代码Request.Files.Keys ["keyName"]时,它只返回一个文件,但我有多个文件与该键.我该怎么办?!顺便说一句,我不能使用键名作为参数,因为我不知道究竟是什么键,也许模型绑定器可以帮助在这种情况下,但我不知道如何将它用于文件.谢谢

collections asp.net-mvc file-upload model-binding

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