Tag: asp.net mvc 3

System.Web.Caching.Cache在模型中抛出nullexception

也许这个问题应该很简单,但事实并非如此。 我在ASP.NET中阅读了使用System.Web.Caching.Cache类的问题 。 我有一个单身人士class: private System.Web.Caching.Cache _cache; private static CacheModel _instance = null; private CacheModel() { _cache = new Cache(); } public static CacheModel Instance { get { return _instance ?? new CacheModel(); } } public void SetCache(string key, object value){ _cache.Insert(key, value); } 如果,在我的代码中的任何其他位置,我调用以下内容: CacheModel aCache = CacheModel.Instance; aCache.SetCache(“mykey”, new string[2]{“Val1”, “Val2”}); //this line […]

带有Ninject的AutoMapper

我一直在尝试设置AutoMapper来通过Ninject实例化所有对象。 我在global.asax文件中有以下代码 Mapper.Configuration.ConstructServicesUsing(x => kernel.Get(x)); 作为一个例子,我有以下映射 Mapper.CreateMap(); 但是,这似乎不起作用。 我得到一个’IndexViewModel’没有默认构造函数的错误。 我可以通过显式告诉automapper在映射中使用ninject来使映射器工作。 Mapper.CreateMap().ConstructUsingServiceLocator(); 但是,我宁愿不必为每个映射执行此操作。 我错过了什么吗?

mvc3validation检查属性值是否不同

在MVC3中,您可以向模型添加validation,以检查属性是否匹配如下: public string NewPassword { get; set; } [Compare(“NewPassword”, ErrorMessage = “The new password and confirmation password do not match.”)] public string ConfirmPassword { get; set; } 有没有办法检查两个属性是否有所不同,如下面的假设代码? [CheckPropertiesDiffer(“OldPassword”, ErrorMessage = “Old and new passwords cannot be the same”)] public string OldPassword { get; set; } public string ConfirmPassword { get; set; }

ASP.NET MVC3和服务器端validation

假设用户已禁用javascript,因此客户端validation在MVC3中不起作用。 实现服务器端validation的最佳方法是什么,以便在用户尝试以不适当的方式处理数据时仍然显示validation消息? 谢谢! 编辑: 显然它正在发生,因为我使用EF生成的模型,他们在属性设置器中使用“StructuralObject.SetValidValue”方法。 这导致在MVCvalidation模型之前抛出exception。 我正试图找到一种方法来规避这一点……

MVC BaseController处理CRUD操作

我想重构我的基本CRUD操作,因为它们非常重复,但我不确定最好的方法。 我的所有控制器都inheritanceBaseController,如下所示: public class BaseController : Controller where T : EntityObject { protected Repository Repository; public BaseController() { Repository = new Repository(new Models.DatabaseContextContainer()); } public virtual ActionResult Index() { return View(Repository.Get()); } } 我像这样创建新的控制器: public class ForumController : BaseController { } 很好,很容易,因为你可以看到我的BaseController包含一个Index()方法,这意味着我的控制器都有一个Index方法,并将从存储库加载他们各自的视图和数据 – 这是完美的。 我在编辑/添加/删除方法上苦苦挣扎,我的存储库中的Add方法如下所示: public T Add(T Entity) { Table.AddObject(Entity); SaveChanges(); return Entity; } […]

MVC3下拉列表

我想制作一个下拉列表,数字为0-10。 所以用户可以评价一些东西 目前,我有一个标签:@ Html.LabelFor(model => model.RATE)如何修改此代码,我将有一个下拉框? 并且下拉框的值将存储在model.RATE中? 标签正在运行,但是有一个下拉菜单会好得多。 解: @Html.DropDownListFor(model => model.RATE, Enumerable.Range(0,11).Select( x => new SelectListItem { Text = x.ToString() }));

将模型传递给局部视图?

这是我的偏见: @model RazorSharpBlog.Models.MarkdownTextAreaModel @Html.TextAreaFor(m => m.Name, new { @id = “wmd-input-” + @Model.Name, @class = “wmd-input” }) 我试图在我的View包含它: @using (Html.BeginForm()) { @Html.LabelFor(m => m.Title) @Html.TextBoxFor(m => m.Title) @Html.Partial(“MarkdownTextArea”, new { Name = “content” }) } 这些是模型类: public class MarkdownTextAreaModel { [Required] public string Name { get; set; } } public class BlogContentModel { [Required] [Display(Name […]

如何在MVC3应用程序中构建HTML消息以进行发送?

我在早上洗澡时想到这个,我怎样才能在MVC3应用程序中构建HTML消息? 我正在考虑使用PartialView并调用生成的HTML,将其保存为字符串以在HtmlMessage正文中使用它。 而不是做这样的事情: string body = @”This is an email. Yuk formatting and hard to maintain.”; 我可以这样做: string body = Html.Action(“WelcomeEmail”, “Emails”); 由于MVC3如此强大和成熟,必须有一种标准的方法来做到这一点,对吗? 推荐的方法是什么?

还有一个无法加载文件或程序集’EntityFramework

现在,我保证我用Google搜索了这个。 堆栈溢出对此问题有大约4或5个解决方案。 尽管如此,他们似乎都没有工作。 我正在使用EntityFramework 5(4.4)和MVC 3项目。 这在过去运作良好,但自从我开启项目(大约20天左右)以来已经有一段时间了。 我刚刚卸载并重新安装了Sql Server 2008 R2 Express。 从那以后我重新启动了。 在我的所有cshtml文件中,我在@model行上看到了一个错误下划线。 当我鼠标hover在它上面时,我看到以下内容: ASP.NET运行时错误:无法加载文件或程序集’EntityFramework,Version = 4.4.0.0,Culture = neutral,PublicTokenKey = b77a5c561934e089’或其依赖项之一。 访问被拒绝。 我已经通过包管理器控制台卸载并重新安装了EntityFramework包。 我也是通过nuget完成的。 我关闭并重新打开了visual studio。 我删除了引用并通过浏览dll手动添加它。 我的web.config条目如下所示: [open tag] section name =“entityFramework”type =“System.Data.Entity,EntityFramework,Version = 4.4.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”requirePermission =“false”[close tag] 有人有什么想法吗? 编辑1完整错误细节 Server Error in ‘/’ Application. Could not load file or […]

Linq查询使用包含而不包含

我试图从数据库中获取记录,因为它应该获取记录,其中name包含“searchKey”,而名称不在excludeTerms数组中,并且逗号分隔。 我怎么能在Linq做到这一点? Rows = (from u in DB.Clients where u.Name.Contains(searchTerm) && !u.Name.Contains(string.Join(“,”, excludeTerms.Select(s => “‘” + s + “‘”).ToArray())) select new ClientModel { Name = u.FullName, Id = u.Id, }).Take(5).ToList(); 其中excludeterma包含假设的元素列表 1)Sandy 2)Mandy 3)Larry etc List excludeTerms = new List();