Questions tagged «asp.net-mvc»

ASP.NET MVC框架是一个开源Web应用程序框架和工具,可实现针对Web应用程序量身定制并基于ASP.NET技术基础的模型-视图-控制器(MVC)模式版本。


11
如何在MVC中将PDF返回到浏览器?
我有这个iTextSharp的演示代码 Document document = new Document(); try { PdfWriter.GetInstance(document, new FileStream("Chap0101.pdf", FileMode.Create)); document.Open(); document.Add(new Paragraph("Hello World")); } catch (DocumentException de) { Console.Error.WriteLine(de.Message); } catch (IOException ioe) { Console.Error.WriteLine(ioe.Message); } document.Close(); 如何获得控制器以将pdf文档返回到浏览器? 编辑: 运行此代码会打开Acrobat,但出现错误消息“文件已损坏,无法修复” public FileStreamResult pdf() { MemoryStream m = new MemoryStream(); Document document = new Document(); PdfWriter.GetInstance(document, m); document.Open(); …

14
WebAPI删除不起作用-不允许使用405方法
感谢您对此网站的帮助,因为该网站应该在今晚上线! 我有一个带有Delete方法的Web API控制器。该方法可以在运行IIS Express(Windows 8)的本地计算机上正常运行,但是一旦将其部署到实时IIS服务器(Windows Server 2008 R2),它就会停止工作并抛出以下错误消息: HTTP错误405.0-不允许使用的方法由于使用了无效的方法(HTTP Verb),因此无法显示正在寻找的页面 我在网上寻找解决方案,并实施了最合理的解决方案。我的网络配置具有以下设置: <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> …

2
从ASP.NET Web API返回HTML
如何从ASP.NET MVC Web API控制器返回HTML? 我尝试了以下代码,但由于未定义Response.Write,因此出现了编译错误: public class MyController : ApiController { [HttpPost] public HttpResponseMessage Post() { Response.Write("<p>Test</p>"); return Request.CreateResponse(HttpStatusCode.OK); } }


12
MVC 5访问声明身份用户数据
我正在使用Entity Framework 5 Database First方法开发MVC 5 Web应用程序。我正在使用OWIN进行用户身份验证。下面显示了我的帐户控制器中的登录方法。 public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = _AccountService.VerifyPassword(model.UserName, model.Password, false); if (user != null) { var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, model.UserName), }, DefaultAuthenticationTypes.ApplicationCookie, ClaimTypes.Name, ClaimTypes.Role); identity.AddClaim(new Claim(ClaimTypes.Role, "guest")); identity.AddClaim(new Claim(ClaimTypes.GivenName, "A Person")); identity.AddClaim(new Claim(ClaimTypes.Sid, …

5
将ASP.NET MVC验证与jquery ajax一起使用?
我有这样简单的ASP.NET MVC操作: public ActionResult Edit(EditPostViewModel data) { } 该EditPostViewModel有这样的验证特性: [Display(Name = "...", Description = "...")] [StringLength(100, MinimumLength = 3, ErrorMessage = "...")] [Required()] public string Title { get; set; } 在视图中,我正在使用以下助手: @Html.LabelFor(Model => Model.EditPostViewModel.Title, true) @Html.TextBoxFor(Model => Model.EditPostViewModel.Title, new { @class = "tb1", @Style = "width:400px;" }) 如果我在将文本框置于验证中的表单上进行提交,则将首先在客户端上执行,然后在service(ModelState.IsValid)上完成。 现在我有几个问题: 可以将其与jQuery …

8
使用端点路由时,不支持使用“ UseMvc”来配置MVC
我有一个Asp.Net core 2.2项目。 最近,我将版本从.net core 2.2更改为.net core 3.0 Preview8。更改之后,我看到以下警告消息: 使用端点路由时,不支持使用“ UseMvc”配置MVC。要继续使用“ UseMvc”,请在“ ConfigureServices”中设置“ MvcOptions.EnableEndpointRouting = false”。 我知道通过设置EnableEndpointRouting为false可以解决此问题,但是我需要知道什么是解决问题的正确方法,以及为什么端点路由不需要UseMvc()功能。

5
如何“热身”实体框架?什么时候变“冷”?
不,我第二个问题的答案不是冬天。 前言: 最近,我对Entity Framework进行了大量研究,而令我困扰的是当查询未预热时的性能,即所谓的冷查询。 我浏览了有关Entity Framework 5.0 的性能注意事项的文章。作者介绍了“ 热”和“ 冷”查询的概念以及它们之间的区别,我也注意到自己而并不知道它们的存在。在这里可能值得一提的是,我只有六个月的经验。 现在,我知道如果我想从性能方面更好地理解框架,我可以进一步研究哪些主题。不幸的是,Internet上的大多数信息已经过时或过分带有主观性,因此,我无法找到有关“ 热与冷”查询主题的任何其他信息。 到目前为止,基本上我注意到的是,每当我需要重新编译或回收利用命中时,我的初始查询就会变得非常缓慢。如预期的那样,任何后续数据读取都是快速的(主观的)。 我们将迁移到Windows Server 2012,IIS8和SQL Server 2012,作为一名初中生,我实际上赢得了自己在其余测试之前进行测试的机会。我很高兴他们引入了一个预热模块,该模块可以使我的应用程序为第一个请求做好准备。但是,我不确定如何继续预热我的实体框架。 我已经知道值得做的事情: 根据建议提前生成我的视图。 最终将我的模型移到单独的装配中。 按照常识,我考虑做的可能是错误的方法: 在应用程序启动时读取虚拟数据,以进行预热,生成和验证模型。 问题: 何时在我的实体框架上实现高可用性的最佳方法是什么? 在什么情况下,实体框架会再次“变冷”?(重新编译,回收,IIS重新启动等)

1
您如何告诉Resharper方法参数是包含CSS类的字符串?
[在CSS类的HTMLHelper属性上启用智能感知] 我有这个HTMLhelper: public IHtmlString MyTextBoxFor<TModel, TProperty>( this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> propertyExpression, string cssClass) { // ... } 我希望Resharper在传递“ cssClass”参数的值时为我提供在应用程序中定义的CSS类的IntelliSense。 Resharper可以识别一些代码注释属性,但是似乎没有一个与将方法参数标记为CSS类直接相关。 我能找到的最接近的是[HtmlAttributeValue(string name)]。我试图这样申请cssClass参数: public IHtmlString MyTextBoxFor<TModel, TProperty>( this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> propertyExpression, [HtmlAttributeValue("class")] string cssClass) { // ... } 但这是行不通的。如果Resharper能够识别输入的类并停止在jQuery选择器表达式(在上面的帮助程序生成的文本框上运行)中未知的CSS类困扰我,这也将非常棒。 编辑: 这是适用于操作方法的“ htmlAttributes”参数的智能感知类型的屏幕截图。这可以通过在参数上使用[HtmlElementAttributes]批注来完成。 我想要一个类似的注释,使我可以将css类放在字符串参数中,并具有相同的智能感知来显示css类。


15
如何在ASP.NET MVC 3中以特定格式呈现DateTime?
如果我在模型类中具有类型的属性,DateTime该如何以特定格式呈现它(例如,以ToLongDateString()返回格式)? 我已经试过了... @Html.DisplayFor(modelItem => item.MyDateTime.ToLongDateString()) ...这将引发异常,因为表达式必须指向属性或字段。还有这个... @{var val = item.MyDateTime.ToLongDateString(); Html.DisplayFor(modelItem => val); } ...这不会引发异常,但是呈现的输出为空(尽管val包含期望值,如我在调试器中看到的)。 提前感谢您的提示! 编辑 ToLongDateString仅是一个例子。我实际上想要使用的ToLongDateString是DateTimeand 的自定义扩展方法DateTime?: public static string FormatDateTimeHideMidNight(this DateTime dateTime) { if (dateTime.TimeOfDay == TimeSpan.Zero) return dateTime.ToString("d"); else return dateTime.ToString("g"); } public static string FormatDateTimeHideMidNight(this DateTime? dateTime) { if (dateTime.HasValue) return dateTime.Value.FormatDateTimeHideMidNight(); else return ""; …

6
ASP.NET MVC Ajax错误处理
当jquery ajax调用动作时,如何处理控制器中引发的异常? 例如,我想要一个全局javascript代码,该代码将在ajax调用期间在任何类型的服务器异常上执行,如果在调试模式下则显示异常消息,或者仅显示普通错误消息。 在客户端,我将在ajax错误上调用一个函数。 在服务器端,我是否需要编写自定义actionfilter?

7
ASP.NET MVC中的多步骤注册过程问题(拆分视图模型,单个模型)
我有一个多步骤的注册过程,由域层中的单个对象支持,该过程具有在属性上定义的验证规则。 将域拆分为多个视图时,应该如何验证域对象,发布时必须将对象部分保存在第一个视图中? 我考虑过使用会话,但这是不可能的,因为该过程很漫长且数据量很大,所以我不想使用会话。 我考虑过将所有数据保存在关系内存数据库中(与主数据库具有相同的架构),然后将数据刷新到主数据库,但是出现了问题,因为我应该在使用该服务的服务(在视图中请求)之间进行路由主数据库和内存数据库。 我正在寻找一种优雅,干净的解决方案(更确切地说是一种最佳实践)。 更新和说明: @Darin谢谢您的深思熟虑,这就是我到目前为止所做的。但是顺便说一句,我有一个包含许多附件的请求,我设计了一个Step2View示例,例如,用户可以异步上载其中的文档,但是这些附件应保存在一个表中,该表应与之前应保存的另一个表建立引用关系。Step1View。 因此,我应该将域对象保存在Step1(部分)中,但是,我不能这样做,因为如果没有来自convert的道具,则无法保存部分映射到Step1的ViewModel的支持的Core Domain对象Step2ViewModel。
117 asp.net-mvc 

10
如何在ASP.NET Core中使用npm
我正在使用npm管理ASP.NET Core应用程序所需的jQuery,Bootstrap,Font Awesome和类似的客户端库。 对我有用的方法是将package.json文件添加到项目中,如下所示: { "version": "1.0.0", "name": "myapp", "private": true, "devDependencies": { }, "dependencies": { "bootstrap": "^3.3.6", "font-awesome": "^4.6.1", "jquery": "^2.2.3" } } npm将这些软件包还原到node_modules文件夹中,该文件夹与项目目录中的wwwroot处于同一级别: 由于ASP.NET Core从wwwroot文件夹提供静态文件,而node_modules不存在,因此我必须进行一些更改才能使此工作生效,第一个:在Startup中的app.UseStaticFiles之前添加app.UseFileServer。 cs文件: app.UseFileServer(new FileServerOptions() { FileProvider = new PhysicalFileProvider( Path.Combine(Directory.GetCurrentDirectory(), @"node_modules")), RequestPath = new PathString("/node_modules"), EnableDirectoryBrowsing = true }); app.UseStaticFiles(); 第二个,在project.json文件的publishOptions中包括node_modules: "publishOptions": { "include": …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.