Tag: asp.net mvc

MVC5:Enum单选按钮,标签为displayname

我有这些枚举 public enum QuestionStart { [Display(Name=”Repeat till common match is found”)] RepeatTillCommonIsFound, [Display(Name=”Repeat once”)] RepeatOnce, [Display(Name=”No repeat”)] NoRepeat } public enum QuestionEnd { [Display(Name=”Cancel Invitation”)] CancelInvitation, [Display(Name=”Plan with participants on first available common date”)] FirstAvailableCommon, [Display(Name=”Plan with participants on my first available common date”)] YourFirstAvailableCommon } 我有一个帮助类来显示枚举中每个字段的所有单选按钮 @model Enum @foreach (var value in Enum.GetValues(Model.GetType())) { […]

ASP.NET MVC中的配置约定

我对ASP.NET MVC比较陌生,到目前为止对平台的清晰度印象非常深刻。 但是,有一个方面我觉得不舒服。 起初,当我说时,我接受了这个事实 return View(); 我正在调用一个返回ActionResult的辅助方法,并对要呈现的视图,路由值等做出一些假设。但最近我一直在编写看起来更像这样的代码: return View(“Index”, new { id = myID }) 因为通过阅读单行代码,我立刻就能清楚地知道发生了什么。 最近我一直在努力解决这个问题,即我可以在选项卡上打开Index.ASPX视图,但我无法立即知道它来自何处,因为IDE没有突出显示对象资源管理器中的当前选项卡。 我没有使用将文件名更改为ControllerNameIndex.ASPX ,但我确实在视图中添加了一个更具体的标题。 尽管如此,它并没有多大帮助。 你如何处理这些含糊不清的问题?

ASP.Net Identity 2.0 AccessFailedCount不递增

昨晚我正在使用FormsAuthentication开发一个新项目,并且正在自定义票证以包含安全令牌,因此如果用户在一个浏览器中注销,则会在所有这些注册表中注销。 在查看ASP.net Identity的最新版本时,看起来它已经内置了这个function。 我创建了一个新的测试MVC 5 Web应用程序,启用了个人帐户。 注册和身份validation开箱即用。 但是,我注意到失败的登录尝试没有增加AspNetUsers表中的AccessFailedCount字段。 由于这不会增加,我可以尝试尽可能多的失败登录尝试,而不会让帐户被锁定。 如何在ASP.net Identity 2.0上启用AccessFailedCount和Lockoutfunction?

ASP.NET MVC – 填充下拉列表

我是ASP.NET MVC的新手。 我正在试图弄清楚如何从我的数据库中的值创建一个基本的下拉列表。 在ASP.NET Web表单中,我知道我可以加载下拉列表,如下所示: Page.aspx Page.aspx.cs void myDropDownList_Load(object sender, EventArgs e) { if (Page.IsPostBack == false) { List people = GetPeopleFromDatabase(); myDropDownList.DataSource = people; myDropDownList.DataBind(); } } 我如何在ASP.NET MVC中执行相同类型的操作? 谢谢!

Web API和MVCexception处理

我们目前正在将我们的Web表单系统重新开发为Web API和MVC(这对我们来说是新技术)到目前为止,一切似乎都没问题,但我们正在努力将Web API应用程序中的错误发送回MVC应用程序。 我们意识到我们需要捕获任何exception,并将这些exception转换为HTTP响应 Web API Product控制器如下所示: public HttpResponseMessage GetProducts() { BAProduct c = new BAProduct(); var d = c.GetProducts(); if (d == null) return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, “This is a custom error message”); else return Request.CreateResponse(HttpStatusCode.OK, d); } MVC应用程序将通过以下代码调用Web API: – public T Get() using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Config.API_BaseSite); client.DefaultRequestHeaders.Accept.Add(new […]

MVC2 TextBoxFor提交后值不更新?

这是一个非常奇怪的行为,我已经设置了一些演示代码来试图弄清楚发生了什么。 基本上有两个动作和一个视图。 第一个操作将空模型发送到视图,该部分操作接收模型,更改其内容并将其发送回同一视图。 在视图中,模型似乎具有更新的值,但是当我执行Html.TextBoxFor(x => x.PropertyNameHere)时,它会呈现一个文本框,其中包含未更改的值。 大声笑……我提前为厕所幽默道歉,但它让这一天变得无聊。 ;) 有谁知道这里发生了什么? 为什么TextBoxFor的输出将旧值放在value属性中? 这是要复制的代码: /Views/Demo/Index.aspx <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage” %> Demo Foo: x.Foo)%> Bar: x.Bar) %> PoopSmith: x.PoopSmith) %> Submit DemoModel.cs namespace TestWeb { public class DemoModel { public string Foo { get; set; } public int Bar { get; set; } public string PoopSmith { get; set; […]

Asp.net Identity使用密码和Azure Active Directory身份validation

我正在使用Asp.net Identity(OWIN)构建ASP.NET MVC 5网站,并希望支持传统的用户名/密码身份validation以及针对Azure Active Directory的身份validation。 此应用程序无需针对Microsoft ID(Live ID),Facebook,Twitter或任何其他外部提供程序进行身份validation。 我找到的最接近的SO问题是: 如何在ASP.NET MVC上执行Azure Active Directory单点登录和表单身份validation 我查看了使用“个人用户帐户”选项以及VS 2015中的“工作和学校帐户”选项创建项目时创建的示例。我的身份validation工作正常; 只有当我尝试将它们结合起来时,我才遇到问题。 在我的Startup_Auth.cs文件中,我正在配置OWIN,如下所示: public void ConfigureAuth(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); //app.UseCookieAuthentication(new CookieAuthenticationOptions { }); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ExternalCookie, LoginPath = new PathString(“/account/sign-in”) }); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = clientId, Authority = authority, TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters { ValidateIssuer […]

ASP.NET MVC 5.1 C#OWIN facebook身份validation或登录请求生日,喜欢,公开个人资料,电话号码

我看过很多关于facebook身份validation的post,要么是旧的,要么是不正常的。 然而,最后我在我的项目中做了一些有效但不完全的东西。 这是我要求的代码 var facebookAuthenticationOptions = new FacebookAuthenticationOptions() { AppId = “…ID”, AppSecret = “…AppSecret”, AuthenticationType = “Facebook”, SignInAsAuthenticationType = “ExternalCookie”, //Provider = new FacebookAuthenticationProvider //{ // OnAuthenticated = async ctx => // { // if (ctx.User[“birthday”] != null) // { // ctx.Identity.AddClaim(new Claim(ClaimTypes.DateOfBirth,ctx.User[“birthday”].ToString())); // } // } //} }; facebookAuthenticationOptions.Scope.Add(“user_birthday”); //facebookAuthenticationOptions.Scope.Add(“first_name”); //facebookAuthenticationOptions.Scope.Add(“last_name”); //page goes […]

为用户创建头像上传表单

我正在使用ASP.Net MVC 5,我想为我的用户配置文件创建一个头像。 我不确定到目前为止我做的是不是正确的方式,特别是出于安全考虑,所以我想得到一些建议。 到目前为止我在做什么 在视图中: @using (Html.BeginForm(“ManageUser”, “Account”, FormMethod.Post, new { enctype = “multipart/form-data” })) { } 在控制器中: internal static bool SaveAvatar(User user, HttpPostedFileBase file) { if (file == null || file.ContentLength MAX_LENGTH) return false; //I think I should convert the file somehow instead of saving it var path = HostingEnvironment.MapPath(“~/img/avatar/”) + string.Format(“{0}.png”, user.UserName); […]

PrincipalContext.ValidateCredentials始终返回FALSE

我有一个MVC应用程序需要登录并validation用户对Active Directory。 我正在使用PrincipalContext.ValidateCredentials方法,但总是获得false的身份validation。 连接到服务器很好。 问题似乎发生在ValidateCredentials 。 这是我的代码: public static bool IsAuthenticated(string domain, string username, string pwd) { bool IsAuthenticated = false; try { PrincipalContext insPrincipalContext = new PrincipalContext(ContextType.Domain, domain, “DC=c1w,DC=com”); username = “c1w\\” + username; IsAuthenticated = insPrincipalContext.ValidateCredentials(username, pwd); } catch (Exception ex) { // Rethrow this exception ExceptionPolicy.HandleException(ex, “Exception Policy”); } return IsAuthenticated; } […]