Tag: asp.net mvc 2

属性要求用户登录而不是拒绝访问?

更新:感谢此处的帮助,我创建了以下解决方案: public class CustomAuthorize : AuthorizeAttribute { protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { // Returns HTTP 401 – see comment in HttpUnauthorizedResult.cs // If user is not logged in prompt if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { base.HandleUnauthorizedRequest(filterContext); } // Otherwise deny access else { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { {“controller”, “Account”}, {“action”, “NotAuthorized”} }); } } […]

在entity framework中编辑对象并将其保存到ASP.NET MVC 2.0中的数据库中

所以我知道EF实体跟踪他们自己的更改并在调用savechanges时将它们保存到数据库中,但是这个场景呢…… 我有一个旨在编辑博客文章的页面。 它有两种动作方法。 [HttpGet] public ViewResult EditBlogPost(int Id) { //This action method gets the blog post by the id and returns the edit blog post page. BlogPost blogPost = db.BlogPosts.Where(x => x.Id == Id).FirstOrDefault(); if (blogPost == null) { ViewData[“message”] = “Blog post not found.”; return View(“Result”); } return View(“ManageBlogPost”, blogPost); } [HttpPost] public ViewResult […]

为什么MarkdownSharp不能编码我的HTML?

在我看来,Markdown的一个更大目标是阻止用户直接输入可能格式错误的HTML。 那么在MarkdownSharp中我并不完全适合我。 当你在“abc”之后立即获得额外的换行符时,此示例正常工作… 但是当那个换行符不存在时,我认为它应该仍然是HtmlEncoded,但这不会发生在这里…… 在幕后,渲染的标记来自iframe。 这就是它背后的代码…… 当然,我必须遗漏一些东西。 哦,我正在使用v1.13(撰写本文时的最新版本)。 编辑(这是对StackOverflow实现的测试) ABC 这不应该是红色的

从局部视图向页面的添加CSS引用

有没有办法从局部视图添加CSS引用到页面, 并让它们在页面的呈现 (根据HTML 4.01规范的要求 )?

暧昧的参考

我在我的解决方案中删除了一个项目,然后重新添加它。 自从阅读它..我现在得到一个ambiguous reference错误,我无法删除。 查看类的实现(获取错误)我看到它引用了两次: > ClassName (myclass.Class) myclass.Class > ClassName (myclass.Class) myclass.Class, Version=1.0.0.0 命名空间只查看一次,但此问题仅存在于1个局部视图中。 编辑: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl” %> MyViewModel给出了模糊错误,如果我查看它显示重复的所有可用类,如: MyClass.Class.MyViewModel MyClass.Class.MyViewModel MyClass.Class.MyOtherViewModel MyClass.Class.MyOtherViewModel 但是当我在同一个项目中打开另一个局部视图时,它很好。 这只是一个似乎保留重复引用的部分。 知道如何解决这个问题吗?

ViewDataFactory和强类型母版页

我试图让我的强类型母版页在我的ASP MVC 2.0应用程序中工作。 我在这两个post的帮助下走得很远: 将数据传递到ASP.NET MVC中的母版页 强类型的ASP.Net MVC母版页 问题是,我不知道如何使ViewDataFactory代码工作,这是我的代码: BaseController.cs public class BaseController : Controller { private IPageRepository _repPage; public BaseController(IPageRepository repPage) { _repPage = repPage; } protected T CreateViewData() where T : MasterViewData, new() { IViewDataFactory factory = new ViewDataFactory(); IEnumerable pages = _repPage.GetAllPages(); return factory.Create(pages); } } HomeController.cs public class HomeController : BaseController […]

MVC 2与VS 2010视图构建错误:function’匿名类型’不能使用,因为它不是ISO-2 C#语言规范的一部分

我有一个共享项目,我存储了所有自定义的EditTemplates和DisplayTemplates。 这是一个常规的C#类库项目,其视图都标记为嵌入式资源。 该项目的目标框架是“.Net Framework 4”。 在/ Views /文件夹中我已经包含了这个web.config文件,因此在使用.aspx和.ascx文件时我获得了MVC 2 intellisense: 通常我没有这个设置的问题但是一旦我编译我的视图时遇到错误: 错误3无法使用function“匿名类型”,因为它不是ISO-2 C#语言规范的一部分 对于看起来像这样的模板: 大多数情况下,这个错误就消失了。 我已经学会了处理它,但现在它引起了一些问题。 任何导致“错误3function’匿名类型’的原因都无法使用,因为它不是ISO-2 C#语言规范的一部分”错误以及如何解决这个问题?

是控制器异步的后台工作者?

在asp.net mvc 2控制器中,我有以下代码: using (BackgroundWorker worker = new BackgroundWorker()) { worker.DoWork += new DoWorkEventHandler(blah); worker.RunWorkerAsync(var); } 我的问题是:这个代码是异步的,这意味着它会启动一个新的线程,并且当’blah’并行执行时,控制器会返回视图吗? 如果没有,我将如何实现这些结果?

entity frameworkCTP4:在哪里放置SetInitializer?

我试图使用CTP4预览将entity framework(代码优先)添加到使用测试数据运行的MVC应用程序。 我目前收到此错误: 自创建数据库以来,支持’SchedulerContext’上下文的模型已更改。 手动删除/更新数据库,或使用IDatabaseInitializer实例调用Database.SetInitializer。 例如,RecreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可选择使用新数据对其进行种子设定。 我根本不想生成数据库,因为我已经有了一个数据库。 所以我尝试将以下内容添加到SchedulerContext构造函数中: Database.SetInitializer(new CreateDatabaseOnlyIfNotExists()); 它完全没有效果 – 下次运行时我得到了同样的错误。 当它执行访问数据库的LINQ语句时,似乎发生了错误 – 我认为第一个。 我应该把这个陈述放在哪里,或者这个陈述是否是这个问题的答案?

如何确保我创建的filedownload是UTF-8? (而不是没有BOM的UTF-8)

我已经制作了一个下载function,可以将消息下载到CSV文件中(代码如下)。 现在当我用记事本或记事本++打开它时,我看到了这个: NYNYø╬║►░êö (这就是数据库btw中的内容) 现在,当我在Ms-Excel中打开它时,它会显示: éNYÃâ€â€â€â€ÃÃÃöö 当我在记事本++中打开它时,它说它是在’没有BOM的UTF8’中编码的。 当我将它(在记事本++中)编码为UTF-8时,一切顺利(也就是说,Excel也显示正确的字符) 但是我怎样才能确保我从我的代码创建的文件是UTF-8? 这是我的代码: public ActionResult DownloadPersonalMessages() { StringBuilder myCsv = new StringBuilder(); myCsv.Append(new DownloadService().GetPersonalMessages()); this.Response.ContentType = “text/csv”; Response.AddHeader(“content-disposition”, “attachment; filename=PersonalMessages.csv”); Response.ContentEncoding = Encoding.UTF8; Response.Write(myCsv.ToString()); Response.Flush(); Response.HeaderEncoding = Encoding.UTF8; return Content(“”); } 编辑: 我的函数现在返回带有此转换的ByteArray UTF8Encoding encoding = new UTF8Encoding(); return encoding.GetBytes(str); 我的下载现在是这样的: Response.AddHeader(“Content-Disposition”, “attachment; filename=PersonalMessages.csv”); return File(new DownloadService().GetPersonalMessages(), “text/csv”);