Tag: asp.net mvc

如何为MVC创build自定义validation属性

我想创build一个MVC2自定义validation属性的电子邮件地址不从RegularExpressionAttributeinheritance,但可以在客户端validation中使用。 任何人都可以指向正确的方向吗? 我尝试了这样简单的事情: [AttributeUsage( AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false )] public class EmailAddressAttribute : RegularExpressionAttribute { public EmailAddressAttribute( ) : base( Validation.EmailAddressRegex ) { } } 但它似乎并没有为客户端工作。 但是,如果我使用RegularExpression(Validation.EmailAddressRegex)]似乎工作正常。

DAL – > BLL < – GUI +组合根。 如何设置DI绑定?

我做了一个三层应用程序,参考这个答案中描述的refrences: DAL with Repositories -> BLL with services and IRepository <- Asp.net mvc-app 为了使dependency injection运行,我看到几个选项: 1.从Web应用程序添加对DAL的引用,以便能够在应用程序启动时设置绑定。 2.使用xml-configuration的容器 (3.使用reflection来加载dal-assembly并查找types) 选项1很容易,也使DAL.dll被复制到垃圾箱,但后来我突然重新介绍了我努力摆脱的参考。 现在可以直接访问存储库。 选项2和3似乎不必要的复杂。 有没有别的办法?

我可以传递一个匿名types到我的ASP.NET MVC视图吗?

我刚开始使用ASP.NET MVC,现在处于testing阶段。 在我的代码中,我正在运行一个简单的LINQ to SQL查询来获取结果列表并将其传递给我的视图。 这样的事情: var ords = from o in db.Orders where o.OrderDate == DateTime.Today select o; return View(ords); 然而,在我看来,我意识到我需要访问每个订单的客户名称。 我开始使用o.Customer.Name但我相当肯定,这是执行一个单独的查询每个订单(因为LINQ的懒加载)。 减less查询次数的逻辑方法是同时select客户名称。 就像是: var ords = from o in db.Orders from c in db.Customers where o.OrderDate == DateTime.Today and o.CustomerID == c.CustomerID select new { o.OrderID, /* … */, c.CustomerName }; return View(ords); […]

Razor:声明式HTML帮助程序

我试图写一个简单的声明性的HTML帮手: @helper Echo(string input) { @input } 如果我将它embedded到我想要使用的页面中,该帮助程序工作正常。 但是,如果我将它移动到一个单独的.cshtml文件并将该文件放在~/Views/Helpers目录中,我的视图就不~/Views/Helpers被编译,因为找不到帮助器。 根据Scott Gu的博客文章Razor,它应该工作。 我究竟做错了什么?

ViewData和TempData的区别?

我知道ViewData是什么,并一直使用它,但在ASP.NET Preview 5中,他们引入了一些新的名为TempData。 我通常强烈键入我的ViewData,而不是使用对象的字典方法。 那么,什么时候应该使用TempData而不是ViewData呢? 有没有最佳做法呢?

排除防伪标记问题

我有一个表格post,一直给我一个反伪造令牌错误。 这是我的forms: @using (Html.BeginForm()) { @Html.AntiForgeryToken() @Html.EditorFor(m => m.Email) @Html.EditorFor(m => m.Birthday) <p> <input type="submit" id="Go" value="Go" /> </p> } 这是我的行动方法: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Join(JoinViewModel model) { //a bunch of stuff here but it doesn't matter because it's not making it here } 这是web.config中的machineKey: <system.web> <machineKey validationKey="mykey" decryptionKey="myotherkey" validation="SHA1" decryption="AES" /> </system.web> 这是我得到的错误: A […]

ASP.NET MVC 4拦截所有传入的请求

有没有办法让我赶上所有传入的请求到我的ASP.NET MVC 4应用程序并运行一些代码,然后再继续向指定的控制器/操作的请求? 我需要使用现有的服务运行一些自定义代码,为了做到这一点,我需要能够拦截来自所有客户端的所有传入请求,以检查其他服务的一些事情。

MVC4 HTTP错误403.14 – 禁止

我已经build立了一个.net4.5 ASP.NET MVC4 web应用程序,它可以在本地正常工作(IIS Express&dev服务器),但是一旦我将其部署到我的web服务器,它会抛出403错误。 我已经在服务器上安装.Net 4.5RC,甚至尝试了aspnet_regiis -i位,大家推荐他们与以前版本的MVC / .Net的问题,但没有帮助。 有任何想法吗? 编辑 :关于情况的更多信息。 服务器是32位,我有4个其他MVC3应用程序工作正常。 这只是我的MVC4应用程序不工作。

在ASP.NET MVC中使用IEnumerable模型的自定义编辑器模板的正确,惯用的方法

这个问题是为什么我的DisplayFor循环通过我的IEnumerable <DateTime>的后续? 快速刷新。 什么时候: 该模型具有IEnumerable<T>types的属性 您使用只接受lambdaexpression式的重载将此属性传递给Html.EditorFor() 在Views / Shared / EditorTemplates下有一个types为T的编辑器模板 那么MVC引擎将自动为可枚举序列中的每个项目调用编辑器模板,生成结果列表。 例如,当有一个具有属性Lines的模型类Order : public class Order { public IEnumerable<OrderLine> Lines { get; set; } } public class OrderLine { public string Prop1 { get; set; } public int Prop2 { get; set; } } 并有一个视图/共享/ EditorTemplates / OrderLine.cshtml: @model TestEditorFor.Models.OrderLine @Html.EditorFor(m => m.Prop1) @Html.EditorFor(m […]

ModelState.IsValid == false,为什么?

我在哪里可以find使ModelState无效的错误列表? 我没有看到ModelState对象上的任何错误属性。