Tag: asp.net mvc 3

WebImage裁剪到正方形

有谁知道如何使用新的ASP.Net MVC 3 Html Helper WebImage将上传的文件裁剪成正方形。 如果可能的话,我想让它居中。 在过去的几个小时里,我一直在试图解决这个问题……任何帮助都表示赞赏! 场景非常简单,用户可以上传图像,然后将图像调整为正方形,以便稍后用作网站中的缩略图。

如何检测请求是否来自我的asp.net MVC 3中的移动浏览器

我想要实现的是简单的; 在我的Web应用程序中的所有视图中,我只有两个剃刀视图,我为他们创建了一个移动版本。 因此,如果他们从移动设备访问应用程序,我需要将用户重定向到这些视图。 我在控制器级别上尝试了以下操作,但是当我在不同的移动设备上运行测试时,它没有重定向用户: – if (Request.Browser.IsMobileDevice) { return View(“MobileStudentStartAssessment”); } else { return View(“StudentStartAssessment”); } 那么我可以采用另一种可以检测大多数移动设备的方法吗? 谢谢

ASP.NET MVC应用程序的REST API版本控制

我正在寻找在ASP.NET MVC 3中开发应用程序,并希望同时提供一个公共API。 从四处看看,似乎有两种方法可以实现。 创建一个API区域并拥有返回json / xml的控制器。 或者使用动作filter和单个前端控制器集,并根据请求标头返回json / xml / html。 我想稍后再做,但是我想知道如果你走这条路线你怎么能去版本化你的api? 如果你走第一条路线,你可以很容易地创建一个v1 / v2控制器,但是如果你这样做,你怎么能对它进行版本化?

登录页面上的防伪标记

我在登录页面上实现了防伪令牌。 现在我有一个用户按下键盘上的后退键,当他们在填写凭据后再次点击登录按钮时,他们会收到错误页面。 是否有一些更好的方法来处理这种情况,例如将它们重定向到新的登录页面? 登录页面是: / account / logon 如果登录详细信息已成功,则用户将被重定向到:主页/索引页面,用户在该页面上按下按钮。

如何在asp.net mvc 3 razor视图中访问应用程序变量?

我在global.asa.cs中设置了一个Application变量: protected void Application_Start() { … // load all application settings Application[“LICENSE_NAME”] = “asdf”; } 然后尝试使用我的剃刀视图访问: @Application[“LICENSE_NAME”] 并得到此错误: Compiler Error Message: CS0103: The name ‘Application’ does not exist in the current context 什么是正确的语法?

优化nhibernate会话工厂,webApp的启动时间确实很慢

我已经实施了测试应用。 它使用流畅的nhibernate映射到mssql db中的db对象。 因为我想学习微调nhib。 mvc3应用程序,我正在使用这个应用程序。 用于测试目的,它只有一个带有10个枚举属性和一个字符串属性的简单实体。 所以,它实际上是光波,但根据nhibernate profiler的启动时间是4.37秒。 这对于渲染一个具有少量行检查/未检查属性的实体来说真的很慢。 代码如下。 Domain.SessionProvider.cs public static ISessionFactory CreateSessionFactory() { var config = Fluently.Configure() .Database(MsSqlConfiguration.MsSql2008 .ConnectionString(c => c.FromConnectionStringWithKey(“myConnection”))) .Mappings(m => m.FluentMappings.Add()) .ExposeConfiguration(p => p.SetProperty(“current_session_context_class”, “web”)) .BuildConfiguration(); return config.BuildSessionFactory(); } Global.asax中 public class MvcApplication : System.Web.HttpApplication { //SessionPerWebRequest is ommited here as well as other content public static ISessionFactory SessionFactory […]

时区战略

我正在构建一个MVC 3应用程序,其中用户可能不在同一时区,因此我的意图是以UTC格式存储所有内容,并在视图中将UTC转换为本地时间,并在提交时将本地时间转换为UTC。 做一些浏览虽然似乎没有很多好的解决方案。 说实话,我有点期望一个属性可用于将UTC时间自动转换为本地时间,但似乎不存在。 我觉得只是努力将每个输入手动转换为UTC并手动将每个视图转换为本地时间显示将非常容易出错并导致难以检测到时间未转换为或未转换的错误。 关于如何将此作为一般战略处理的任何建议? 编辑每个人似乎都非常坚持“如何获得客户端时区”这篇文章,正如我在其中一条评论中提到的那样,并不是我关注的问题。 我很好用一个用户设置确定他们的时区,所以假设我已经知道客户端时区是什么…这不能解决我的问题。 现在,在我渲染日期的每个视图上,我需要调用一个方法从utc在本地时区渲染它。 每次我向服务器发送提交日期时,我都需要将其从本地时区转换为UTC。 如果我忘记这样做会有问题…提交的日期将是错误的或客户端报告和filter将是错误的。 我希望存在的是一种更自动化的方法,特别是因为视图模型在MVC 3中是强类型的,我希望sum magic能够至少自动在时区中呈现,如果不处理提交,就像日期格式或范围可以由属性控制。 所以喜欢 [DateRange] Public DateTime MyDate 我可以有类似的东西 [ConvertToUTC(offset)] Public DateTime MyDate 无论如何,我想我的唯一方法就是编写自定义数据注释以在时区中呈现它,并在MVC 3模型绑定器上覆盖,以便转换传入日期,除非我想在方法中包装任何日期呼叫。 因此,除非有人有进一步的意见或建议,否则它将是这两个选项中的一个,我只是惊讶于已经不存在的事情。 如果我确实实施了解决方案,我一定会发布它。 编辑2像这样的http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx用于MVC 3视图和视图模型是我正在寻找的。 最终编辑我将epignosisx的答案标记为正确,但也有一些评论要添加。 我在这里找到了类似的东西: http : //dalldorf.com/blog/2011/06/mvc3-timezones-1/通过将时区放在cookie中为第2部分中需要的人提供时区的实现(链接如下,因为文章第一部分到第2部分的链接不起作用) http://dalldorf.com/blog/2011/09/mvc3-timezones-2/ 重要的是要注意这些方法,你必须使用Editfor和Displayfor而不是TextForFor之类的东西,因为只有EditFor和DisplayFor使用元数据提供程序来告诉MVC如何在模型上显示该类型的属性。 如果直接在视图中访问模型值(@ Model.MyDate),则不会进行转换。

找不到方法:’!! 0 System.Array.Empty()’

我用VS 2015 RC和MVC模板创建了一个新的应用程序,没有修改任何代码行我有这个错误: Method not found: ‘!!0[] System.Array.Empty()’. 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.MissingMethodException: Method not found: ‘!!0[] System.Array.Empty()’. Source Error: An unhandled exception was generated during […]

MVC 3动态授权多个角色和用户

我最近主持开发MVC 3,但从那时起就有C#和ASP.NET的经验。 所以我将从我想要完成的事情开始。 我开发了一个用于托管文章的小网站。 我已经为该站点实现了基于SQLServer的成员资格管理。 现在我想创建一个凭据系统,限制并允许正确的用户创建,删除和更新文章。 有一个简单的解决方案就是这样做: [Authorize(Roles=”Admin”)] public ActionResult UpdateArticle(ArticleModel model, int articleid) { return View(); } 现在这很简单。 我只是说只允许角色为“Admin”的成员更新文章。 但这只是静态的。 所以我在我的数据库中创建了一个凭证表,最后告诉我“第5条可以由角色1,2,3和4以及用户A,b和C编辑”。 到现在为止还挺好。 但是我如何使用授权解决方案实现这一点? 我想做这样的事情: [Authorize(getAuthorizedusers(“update”,this.articleid))] 其中getAuthorizedusers返回哪些用户和角色有权使用传递给它的articleid更新文章。 所以我在这里有(至少)两个问题: – 获取Authorize方法以接受多个用户和角色。 – 将发送到UpdateArticle方法的提供的articleid传递给getAuthorizedusers方法。

使用ASP.Net MVC3显示包含在byte 中的图像

我有一个强大的观点。 这个强类型有一个由byte []组成的字段,这个数组包含一个图片。 是否可以使用@ Html.Image(Model.myImage)等显示此图像? 非常感谢你