我在这个主题上看到了很多问题,但是我还没有能够通过其中的任何解决我所看到的问题的方法来sorting。 我有一个活动实体,跟踪哪个员工分配给哪个员工,以及哪个员工创buildlogging并进行更新。 如果我删除`where a.AssignedEmployee == currentUser'代码行,我不会在下面的运行时错误。 无法创buildtypes为“DataModels.Employee”的常量值。 在此上下文中仅支持基本types或枚举types。 CONTROLLER var query = from a in db.Activities where a.AssignedEmployee == currentUser where a.IsComplete == false orderby a.DueDate select a; return View(query.ToList()); 视图 @model IEnumerable<Data.DataModels.Activity> ……….
我试图编写一个自定义的validation器,在客户端工作,validation所有checkbox已勾选。 这是模型的声明: [DeclarationsAccepted(ErrorMessage = "You must tick all declarations")] public IList<DeclarationQuestion> DeclarationQuestions { get; set; } 这里是属性: public class DeclarationsAccepted : ValidationAttribute, IClientValidatable { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { var questions = value as IList<DeclarationQuestion>; if (questions != null && questions.All(c => c.Answer)) { return ValidationResult.Success; } return new ValidationResult("You must accepted […]
我有一个现有的expression式typesExpression<Func<T, object>> ; 它包含像cust => cust.Name这样的值。 我也有一个types为T的字段的父类。 我需要一个方法,接受上述作为参数,并生成一个新的expression式,父类( TModel )作为参数。 这将被用作MVC方法的expression式参数。 因此, cust => cust.Name变为parent => parent.Customer.Name 。 同样, cust => cust.Address.State成为parent => parent.Customer.Address.State 。 这是我的初始版本: //note: the FieldDefinition object contains the first expression //described above, plus the MemberInfo object for the property/field //in question public Expression<Func<TModel, object>> ExpressionFromField<TModel>(FieldDefinition<T> field) where TModel: BaseModel<T> { var […]
我得到下面的错误: Child actions are not allowed to perform redirect actions. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.InvalidOperationException: Child actions are not allowed to perform redirect actions. Source Error: […]
我有一个简单的forms,其中的项目列表,我想发布他们的控制器,但有趣的是我只是不能。 除了列表之外,其他所有事情都能正确地进 我检查了瓢虫中的ajax调用和post的值是这样的: Answers[0].IsMissing False Answers[0].Text Ja Answers[0].Value 0 Answers[1].IsMissing False Answers[1].Text Nein Answers[1].Value 1 Id 1cd14b08-ce3b-4671-8cf8-1bcf69f12b2d Name Ja/Nein 我有一个AnwserScheme类具有以下属性: public string Name { get; set; } public bool IsMissing { get; set; } public List<AnswerDisplayItem> Answers { get; set; } public AnswerScheme() { Answers = new List<AnswerDisplayItem>(); } 我有这个观点代码: @for (int i = 0; […]
我有一个十进制值,例如: 59625879,00 我想显示这样的值: 59.625,879或59625,879 我怎样才能做到这一点@Html.DisplayFor(x => x.TAll, String.Format()) ? 谢谢。
我有一个使用Forms Authentication在asp.net mvc中编写的后端服务器。 当用户没有通过身份validation时,服务器将自动发送302redirect到login操作并返回login页面。 在客户端,我有一个项目列表。 这个列表只能被authentication的用户访问。 在页面上,我有一个使用Ajax刷新列表的button(jQuery的$ .ajax函数)。 现在,我的问题是身份validation票证超时,用户点击刷新button: 我的函数发送一个ajax请求来获取刷新列表 服务器检测到身份validation票据无效并发出302redirect。 浏览器自动处理这个302响应,并强制我的ajax函数发送另一个ajax请求到Login动作,最后的结果是一个状态为200的HTML。我的脚本很混乱,因为这个列表也是一个状态为200的HTML。 我想要的是,当身份validation票证超时,用户点击刷新button,我应该能够检测到,并显示一条消息,要求用户login。 我尝试通过在Login操作中添加自定义标题(IS_LOGIN)来解决这个问题,并检查我的ajax响应。 但这不是一个好的解决scheme。 所以我的问题是: 处理这个问题的最好方法是什么? 为什么浏览器不让脚本处理302响应? 并自动强制我们的ajax创build另一个请求。 这是浏览器或jQuery库的问题? 有什么理由呢? (安全,…) 感谢您的回复。
在MVC应用程序中使用entity frameworkCode-First时,我正在寻找“最好的”地方的build议来放置validation逻辑,例如对实体进行重复检查。 使用一个简单的例子: public class JobRole { public int Id { get; set; } public string Name { get; set; } } 规则是“名称”字段必须是唯一的。 当我添加一个新的JobRole时,很容易在Job Role Repository中运行一个名称不存在的检查。 但是,如果用户编辑现有的JobRole,并意外地将名称设置为已存在的名称,我该如何检查? 问题是不需要在存储库上使用“更新”方法,因为作业angular色实体会自动检测到更改,因此在尝试保存之前没有合理的位置来执行此检查。 到目前为止我已经考虑了两个select: 重写DbContext上的ValidateEntry方法,然后在使用EntityState.Modified保存JobRole实体时,运行重复检查。 在尝试保存之前,创build一些从Controller调用的重复检查服务。 也不是真的很理想。 使用ValidateEntry看起来比较晚(就在保存之前),很难testing。 使用服务使人们忘记从控制器调用它,让重复的数据通过。 有没有更好的办法?
我最近开始从事网页开发工作。 我使用ASP .NET MVC 4和NHibernate。 在我的工作场所,我们严格使用视图模型来在控制器和视图之间来回传输数据。 视图模型不应该包含模型的任何对象。 我知道这是控制器和视图之间的一种层次。 但是,即使我们可以直接将模型的对象发送到视图(大多数情况下),我也发现编写视图模型类是重复的和冗余的。 例如,如果我想显示一个命令,我可以在控制器的操作中做到这一点 – return View(Repository.Get<Order>(id)); 但是相反,我必须写一个视图模型,用获取的顺序填充它,然后将其传递给视图。 所以,我的问题是,当我们可以使用模型的对象时,写视图模型的目的是什么?
出于某种原因,我的Visual Studio 2013预览版不能创buildMVC 5项目。 由于MVC项目现在在CodePlex中是开源的,所以我想知道在我的Visual Studio 2012 Ultimate中是否有一种简单的方法来开发MVC 5项目。