Tag: asp.net mvc

如何以PDF格式呈现ASP.NET MVC视图

我正在使用ExpertPDF的Html-to-PDF转换实用程序来解决这个问题(尽管如果有足够的文档,我会对其他库开放)。 简而言之,我有一个以特定方式格式化的视图,我想将其呈现为用户可以保存到磁盘的PDF文档。 到目前为止我所拥有的是一个PrintService(它实现了一个IPrintService接口),这个实现有两个PrintToPDF()重载,一个只接受一个URL,另一个接受一个HTML字符串,两者都返回一个byte []。 我只计算了需要HTML字符串的第二个重载的细节。 我想从我的控制器做的事情是这样的: public FileStreamResult Print(int id) { var model = _CustomRepository.Get(id); string renderedView = SomethingThatRendersMyViewAsAString(model); Stream byteStream = _PrintService.PrintToPdf(renderedView); HttpContext.Response.AddHeader(“content-disposition”, “attachment; filename=report.pdf”); return new FileStreamResult(byteStream, “application/pdf”); } 这在理论上会将PDF呈现给页面。 这是我正在寻求帮助的“SomethingThatRendersMyViewAsAString”。 有没有快速的方法来获取视图的字符串表示? 或许我应该坚持使用URL重载并将URL传递给视图……还有其他想法吗? 谢谢!

如何允许匿名用户访问MVC中的某个给定页面?

我在ASP.NET MVC Web应用程序中启用了表单身份validation。 我想允许匿名用户只访问某些特定页面,例如Register.cshtml。 通过这样做,我能够允许从我的根web.config访问我的CSS文件。 现在我想允许匿名访问其他页面,如Home和Register。 有人知道怎么做到这一点吗?

属性是和可空的是什么意思?

属性是[Required]和可空的是什么意思? (例如下面)似乎如果它是[Required]它可能不是null (没有值),并且如果它能够为null则它可能不是[Required] 。 [Required] public DateTime? OrderDate { get; set; }

表单提交后重置textarea的值

我想通过转到/ MyController / Message / 3向userID = 3发送消息 这将执行Message()[get]操作,我在文本区域中输入一些文本,然后单击Save以发布表单 Message()[post]操作保存更改,将SomeText的值重置为空字符串并返回到视图。 此时我希望文本区域为空,因为我已将ViewData [“SomeText”]设置为string.Empty 为什么在发布操作后文本区域值不会更新为空字符串? 以下是行动: [AcceptVerbs(HttpVerbs.Get)] public ActionResult Message(int ID) { ViewData[“ID”] = ID; return View(); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Message(int ID, string SomeText) { // save Text to database SaveToDB(ID, SomeText); // set the value of SomeText to empty and return to view ViewData[“SomeText”] = […]

为什么EF 6教程使用异步调用?

关于如何将EF 6与MVC 5一起使用的最新EF教程似乎倾向于使用对数据库的asych调用,如: Department department = await db.Departments.FindAsync(id); 这是新的标准/最佳做法吗? 我不确定ASP.NET MVC的这种开发风格有什么好处。 有人可以评论这种模式,这是MS推广的新标准吗?

使用多个字段过滤/搜索 – ASP.NET MVC

我在EF 6中使用ASP.NET MVC 。 我有一个库存页面,显示库存商品的所有信息。 现在我想过滤记录。 在下图中我有3个选项。 我可以按每个选项进行过滤,一次一个,或者两个或全部三个组合。 我正在考虑为所选的每个选项编写linq查询。 但是如果filter选项增加,这将是不可能的。有更好的方法。 谢谢! 这就是我在我的控制器中所做的。(目前下拉有两个选项,不包括:“ – 选择一个 – ”) public ActionResult StockLevel(string option, string batch, string name) { if (option != “0” && batch == “” && name == “”) { if(option == “BelowMin”) { List stk = (from s in db.Stocks where s.Qty < s.Item.AlertQty select s).ToList(); […]

日期的MVC模型validation

MVC 5是否有默认validation,我可以设置日期的最小值和最大值? 在我的模型中,我想要日期validation public class MyClass { [Required(ErrorMessage=”Start date and time cannot be empty”)] //validate:Must be greater than current date [DataType(DataType.DateTime)] public DateTime StartDateTime { get; set; } [Required(ErrorMessage=”End date and time cannot be empty”)] //validate:must be greater than StartDate [DataType(DataType.DateTime)] public DateTime EndDateTime { get; set; } } Ps:根据这个Asp.Net网站 ,使用Rangevalidation器进行DateTime时出现问题,不推荐使用。 注意:jQueryvalidation不适用于Range属性和DateTime。 例如,以下代码将始终显示客户端validation错误,即使日期在指定范围内: [Range(typeof(DateTime), “1/1/1966”, […]

ASP.NET MVC中的路由,显示URL中的用户名

我试图建立一个路线,所以我可以在URL中显示用户名,如下所示: HTTP:// localhost1234 /约翰· 这是我的routeconfig: routes.MapRoute( name: “users”, // Route name url: “{username}”, // URL with parameters defaults: new { controller = “Home”, action = “Index”, username = “” } // Parameter defaults ); routes.MapRoute( name: “Default”, url: “{controller}/{action}/{id}”, defaults: new { controller = “Home”, action = “Index”, id = UrlParameter.Optional } ); 这是我的HomeController: public […]

模型列表的远程validation

我使用了以下教程: http : //msdn.microsoft.com/en-us/library/gg508808%28VS.98%29.aspx 一切似乎都很好,但在我的情况下,字符串Username总是返回null。 经过大量的研究,我发现每个人都发现了BIND前缀。 在许多情况下这会很棒,但不是这个。 我应该注意所有的属性和名称排列,但是在我的for循环中,EditorFor创建了一个[i] .Username字段,这不会映射到任何模型属性。 问题:我想我想将[i] .Username映射到用户名,其中i是0-infinity中的任何数字,所以当它GETS时,该值会正确地传递给Action。 我该怎么做呢? 如果这是错误的,我该怎么做才能对表中的特定行进行validation? @for (var i = 0; i < Model.Count; i++) { BLAH BLAH BLAH CODE FOR BUILDING TABLE ROWS @Html.EditorFor(modelItem => Model[i].Username) } 因为如果不是成千上万的记录,我在技术上可以拥有数百个,我宁愿没有一个全部1000的绑定PREFIX。我从根本上错过了一些东西吗? 我是ASP.NET MVC的新手,习惯了WebForms,所以我觉得有时候我会混合概念并混合一些完全错误的东西。 编辑:我通过执行以下操作修复它,但不确定这是否是最好的主意。 我将参数设置为没有[i]前缀的FieldName,但仍然检索带有[i]前缀的元素。 Javascript不是我的Forte所以如果它太可怕请告诉我。 adapters.add(“remote”, [“url”, “type”, “additionalfields”], function (options) { var value = { url: options.params.url, type: […]

MVCvalidation低于/高于其他值

如何在MVC.Net中validation模型的最佳方法,我希望接受最小/最大值。 不是字段的单个最小值/最大值。 但是用户指定最小/最大值的单独字段。 public class FinanceModel{ public int MinimumCost {get;set;} public int MaximumCost {get;set;} } 所以我需要确保MinimumCost始终小于最大成本。