Tag: asp.net mvc

为什么我得到“修饰符’虚拟’对此项无效”错误?

我正在尝试使用下面的模型创建mvc应用程序:(代码很大。我认为这对你来说更容易理解) public class Job { public int JobId { get; set; } public string Name { get; set; } public List GetJobs() { List jobsList = new List(); jobsList.Add(new Job { JobId = 1, Name = “Operator” }); jobsList.Add(new Job { JobId = 2, Name = “Performer” }); jobsList.Add(new Job { JobId = 3, Name […]

ASP MVC:服务应该返回IQueryable吗?

你怎么看? 如果您的DAO返回IQueryable以在控制器中使用它吗?

Service Stack / MVC:“AppHostBase.Instance已设置”错误 – 但无法理解为什么/如何防止

我正在尝试将ServiceStack实现到我的MVC3项目中,并遵循以下教程: http : //www.servicestack.net/ServiceStack.Hello/ 我的Global.asax.cs现在看起来像: public class MvcApplication : System.Web.HttpApplication { public class Hello { public string Name { get; set; } } public class HelloResponse { public string Result { get; set; } } public class HelloService : IService { public object Execute(Hello request) { return new HelloResponse { Result = “Hello, ” + […]

使用dbcontext的正确方法(全局或传递为参数?)

当我调用一个需要dbcontext进行update或insert但只需要一个saveChange() ,如下所示 行动:登录 TempDBEntity context = new TempDBEntity(); var temp = context.Users.Where(m => m.user_unique_id == 1).FirstOrDefault(); temp.timestamp = new DateTime(); temp.AddLog(“Login”); context.SaveChanges(); function:AddLog public void AddLog(string activity){ TempDBEntity context2 = new TempDBEntity(); var log = new UserLog(); log.user_id = this.user_id; log.activity = activity; context2.UserLog.Add(log); context2.SaveChanges(); } 如您所见,有两个SaveChanges() ,我只需要1个SaveChanges() 。 我应该将DBContext作为AddLog()另一个参数传递,还是应该在这种情况下为dbcontext声明静态变量? 非常感谢。

ASP.NET MVC:不能将lambda表达式用作动态调度操作的参数

我有一个ASP.NET MVC4应用程序。 我的视图从我的控制器获取一个List。 我想用lambda表达式选择这些列表,但是我收到以下错误: 如果不首先将lambda表达式转换为委托或表达式树类型,则不能将lambda表达式用作动态分派的操作的参数 List layers = new List(); layers = @Model.layers.Select(x => x.KONT == “EUROPE”); @ Model.layers是一个List 我现在试过:但是同样的错误: @{ List layers = Model.layers.Where(x => x.KNOT == “EUROPE”).ToList(); }

添加了ValidationContext项的MVC和EFvalidation

我有一个场景,我想在ValidationContext中添加一个项目,并在EF触发实体validation中检查它。 我在向导中执行此操作,因此我只能在特定步骤上validation某些内容。 (如果有一个好的模式,请分享它)。 问题是在控制器操作被击中之前,实际上会触发两次validation。 我希望我理解为什么。 在发生这种情况之前我不确定如何在ValidationContext中获取该项,因此我无法告诉validation我正在进行哪一步。 此外,如果我通过在下面的代码中检查项目来触发保存更改时仅执行自定义validation,那么当页面刷新时,我不会显示自动模型validation错误。 在我的自定义环境中: public WizardStep Step { get; set; } protected override DbEntityValidationResult ValidateEntity(DbEntityEntry entityEntry, IDictionary items) { items.Add(“ValidationStep”, Step); return base.ValidateEntity(entityEntry, items); } 设置实体的服务: public void SaveChanges(WizardStep step) { _context.Step = step; _context.SaveChanges(); } 在我的实体中 public IEnumerable Validate(ValidationContext validationContext) { // Step will only be present when called from […]

.NET MVC 6 / vNext UserValidator允许使用字母数字字符

我想要做的只是在.NET MVC 6 / vNext注册过程中允许使用字母数字字符,并且我看到的每个教程(即配置Microsoft.AspNet.Identity允许电子邮件地址作为用户名 )引用UserManager.UserValidator ,in现在在当前框架中不可用。 我已经看到了这一点: Microsoft.AspNet.Identity vnext中的UserValidator看起来与我的问题相同,但是他们从那时起就将UserNameValidationRegex属性从框架中删除了。 辉煌。 services.AddIdentity( o => { o.Password.RequireDigit = false; o.Password.RequireLowercase = false; o.Password.RequireUppercase = false; o.Password.RequireNonLetterOrDigit = false; o.Password.RequiredLength = 2; //o.User.AllowedUserNameCharacters here seems to be the only logical thing I can access }) .AddEntityFrameworkStores() .AddDefaultTokenProviders(); 我找到了o.User.AllowedUserNameCharacters ,但由于没有我在此发现的文档,我不知道我必须设置哪种格式? 在那里的任何人都在同一条船上工作了吗? 提前致谢。

HttpContext.Current.Items 无效,因为AngularJS调用创建新会话

我正在使用C#,MVC和AngularJS。 我的问题是我的MVC程序创建了一个HttpContext.Current.Items[“value”]并在初始主控制器中设置了值,但是当我的AngularJS用ajax调用命中应用程序时,它会创建一个新的会话,我可以’ t获取我之前在HttpContext.Current.Items[“value”]调用中设置的HttpContext.Current.Items[“value”] 。 我有什么办法可以解决这个问题吗? 我想继续使用HttpContext.Current.Items[“value”] 。 为什么我的AngularJS调用会创建新的sessionid? 我知道会话是新的原因是因为我使用它时它们有不同的ID: String strSessionId = HttpContext.Session.SessionID;

ASP.Net MVC C#Chrome未在编辑模式下显示日期

我使用Google Chrome V28作为我的浏览器 – 我的模型上的DataAnnotations存在问题,这会迫使Chrome在我的视图中呈现数据时类型时使用它自己的内置日历。 我的模型是: public class ObScore { public int ObScoreId { get; set; } … … [DisplayFormat(DataFormatString = “{0:dd MMMM yyyy}”, ApplyFormatInEditMode = true)] [Display(Name = “Date”)] [DataType(DataType.Date)] public DateTime Date { get; set; } … … } 模型中肯定存在数据: …但在“修改”模式下显示时,Chrome会显示: 这是Chrome中的已知错误,我可以在代码中执行任何操作,将日期强制转换为表单吗? 谢谢,马克

Google Drive Api – 带有entity framework的自定义IDataStore

我实现了我的自定义IDataStore以便我可以在我的数据库上存储最终用户令牌而不是默认实现,该实现保存在%AppData%中的FileSystem上 。 public class GoogleIDataStore : IDataStore { … public Task GetAsync(string key) { TaskCompletionSource tcs = new TaskCompletionSource(); var user = repository.GetUser(key.Replace(“oauth_”, “”)); var credentials = repository.GetCredentials(user.UserId); if (key.StartsWith(“oauth”) || credentials == null) { tcs.SetResult(default(T)); } else { var JsonData = Newtonsoft.Json.JsonConvert.SerializeObject(Map(credentials)); tcs.SetResult(NewtonsoftJsonSerializer.Instance.Deserialize(JsonData)); } return tcs.Task; } } 调节器 public async Task AuthorizeDrive(CancellationToken cancellationToken) […]