Tag: asp.net mvc

ASP.NET MVC 4 C#HttpPostedFileBase,如何存储文件

模型 public partial class Assignment { public Assignment() { this.CourseAvailables = new HashSet<CourseAvailable>(); } public string AssignmentID { get; set; } public Nullable<System.DateTime> SubmissionDate { get; set; } public string Status { get; set; } public Nullable<decimal> Mark { get; set; } public string Comments { get; set; } public string FileLocation { get; set; […]

将PDFstream写入响应stream

如果我有一个PDF文件作为stream,我怎样才能把它写到响应输出stream?

当ID包含句点时,ApiController返回404

我有一个ApiController,我想使用电子邮件地址作为请求的ID参数: // GET api/employees/email@address.com public CompactEmployee Get(string id) { var email = id; return GetEmployeeByEmail(email); } 但是,我不能得到这个工作(返回404 ): http://localhost:1080/api/employees/employee@company.com 以下所有工作: http://localhost:1080/api/employees/employee@company http://localhost:1080/api/employees/employee@company. http://localhost:1080/api/employees?id=employee@company.com 我在web.config中设置了relaxedUrlToFileSystemMapping="true" , 详见Phil Haack 。 我会非常喜欢完整的电子邮件地址工作,但任何时间之后的任何其他字符,请求返回404。任何帮助将不胜感激! 解 由于缺less其他选项,我按照Maggie所build议的方向,使用这个问题的答案来创build一个重写规则,以便在URL中需要电子邮件时自动添加尾部斜线。 <system.webServer> …. <rewrite> <rules> <rule name="Add trailing slash" stopProcessing="true"> <match url="^(api/employees/.*\.[az]{2,4})$" /> <action type="Rewrite" url="{R:1}/" /> </rule> </rules> </rewrite> </system.webServer>

从ASP.NET MVC 5中的Facebook v2.4 API访问OAuth ExternalLoginCallback中的电子邮件地址

使用Facebook API的v2.3,如果设置了以下内容,用户的电子邮件地址将在callback到ExternalLoginCallback返回; app.UseFacebookAuthentication(new FacebookAuthenticationOptions { AppId = "XXX", AppSecret = "XXX", Scope = { "email" } }); 但是,只能定位到v2.4(7月8日发布)的任何应用程序不会将电子邮件地址返回给ExternalLoginCallback 。 我认为这可能与此处列出的v2.4更改有关; 声明性字段 为了提高移动networking的性能,v2.4中的节点和边缘要求您明确地请求您的GET请求所需的字段。 例如, GET /v2.4/me/feed默认不再包含喜欢和评论,但GET /v2.4/me/feed?fields=comments,likes将返回数据。 有关更多详细信息,请参阅有关如何请求特定字段的文档。 我现在怎样才能访问这个电子邮件地址?

如何避免ASP.Net(MVC)中的XSS漏洞?

我最近注意到我的应用程序有一个大的漏洞,因为我做了如下的事情: <input type="text" value="<%= value%>" /> 我知道我应该使用Html.Encode ,但有没有办法做到这一点,所有的价值,而不必明确地做到这一点?

ASP.NET MVC和IIS 5

什么是托pipe一个ASP.NET MVC应用程序在IIS 5(6或7)上工作的最佳方式。 当我试图发布我的ASP.NET MVC应用程序,我似乎得到的是404错误。 我已经做了一些googleing,并find了一些解决scheme,但都没有看起来超级优雅,我担心,如果他们将无法使用,一旦我来使用共享主机环境的应用程序。 解决scheme1 右键单击inetmgr.exe上的应用程序虚拟目录。 属性 – >虚拟目录选项卡 – >configuration。 添加一个新的映射扩展。 扩展名应该是。*,它将被映射到可执行文件C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll或计算机上的相应位置(您可以简单地从映射.aspx文件)。 在映射上,取消勾选“检查该文件是否存在”。 3 X好,你很好走。 如果你愿意,你可以将这个设置应用到你的所有网站。 在步骤1中,点击“默认网站”节点,而不是您自己的虚拟目录,并在第2步转到“主目录”选项卡。 其余的是一样的。 通过ASP.NET路由所有的东西似乎是一件有趣的事情。 解决scheme2 编辑MVC路由以在URL中包含.mvc,然后执行基于此扩展的解决scheme1中的步骤。 编辑:原始图像链接丢失,但这里是从谷歌的caching:

如何通过URL获取RouteData?

我需要在ASP.NET MVC应用程序中通过给定的URLstring来获取RoutData 。 我发现我需要根据我的URLstring来模拟HttpContextBase ,然后将它传递给Route Parsing(Uri to Route)线程中的RouteTable.Routes.GetRouteData()方法。 如何模拟HttpContextBase通过使用RouteTable.Routes.GetRouteData() URLstring检索RouteData ? 或者有另一种方式来检索URL的RouteData ?

MVC AJAX JSON发布到控制器的操作方法

我正在试图实现一个控制器的操作方法,包含一个复杂的对象作为参数的JQuery AJAX调用。 我已经阅读了大量的博客,并尝试了从这些中学到的一些技巧。 我已经构build了我最好的尝试代码(下)的关键post是这里的计算器贴子。 我想触发一个asynchronous的post,当用户select一个字段[不是一个表单保存post – 如我已经find的其他示例中所示]时调用。 我的意图是: 在客户端实例化一个对象[不是提供视图types的ViewModel]; 使用视图中几个字段的数据填充对象; 将此对象转换为JSON; 使用jQuery.Ajax方法调用controller的action方法,传递JSON对象。 结果将作为JSON结果返回; 数据将根据返回的结果加载到视图中的字段中。 问题是: 如果操作方法由HttpPost属性赋值,则不会调用控制器的Action方法(即使AJAX调用types设置为“POST”)。 如果操作方法使用HttpGet,则参数的属性值为null ReadObject方法抛出错误:“从命名空间'Expecting元素'根''..遇到'None'名称'命名空间'”。 希望有人能帮助。 谢谢。 代码如下: 客户端js文件 var disputeKeyDataObj = { "InvoiceNumber": "" + $.trim(this.value) + "", "CustomerNumber": "" + $.trim($('#CustomerNumber').val()) + "" }; var disputeKeyDataJSON = JSON.stringify(disputeHeadlineData); $.ajax({ url: "/cnr/GetDataForInvoiceNumber", type: "POST", data: disputeKeyDataJSON, dataType: 'json', contentType: "application/json; charset=utf-8", […]

如何创build自定义validation属性?

我想创build一个自定义的validation属性,我想在我的模型类中比较我的属性的值与另一个属性的值。 例如,我在我的模型类中: … public string SourceCity { get; set; } public string DestinationCity { get; set; } 而我想创build一个自定义属性来使用它,像这样: [Custom("SourceCity", ErrorMessage = "the source and destination should not be equal")] public string DestinationCity { get; set; } //this wil lcompare SourceCity with DestinationCity 我如何到那里?

jQuery $ .cookie不是一个函数

我想使用jQuery设置一个cookie: $.cookie("testCookie", "hello"); alert($.cookie("testCookie")); 但是当我加载我的网页,我收到错误“$ .cookie不是一个function”。 这是我所知道的: 我在这里下载了jQuery cookie插件。 我链接到jQuery和THEN的cookie插件。 jQuery和jQuery.cookie都正确加载200 OKs。 我已经看了几个其他答案( 这里和其他),大多数人build议重命名cookie.js文件。 我已经重命名我的cookie文件“jquery.cookeee.js”,但结果是一样的。 关于这里发生了什么的任何想法? 如果有帮助,我正在MVC 4中创build一个Web应用程序。