Questions tagged «asp.net-mvc»

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

30
从客户端检测到潜在的危险Request.Form值
每次用户在Web应用程序中的页面中包含内容<或>在页面中发布内容时,都会引发此异常。 我不想讨论引发异常或崩溃整个Web应用程序的明智性,因为有人在文本框中输入了字符,但是我正在寻找一种优雅的方式来解决这个问题。 捕获异常并显示 发生错误,请返回并重新输入整个表格,但是这次请不要使用< 在我看来还不够专业。 禁用后验证(validateRequest="false")肯定会避免此错误,但是它将使页面容易受到多种攻击。 理想情况下:当发生包含HTML受限字符的回发时,Form集合中的已发帐值将自动进行HTML编码。所以.Text我的文本框的属性将是something & lt; html & gt; 有没有办法可以从处理程序做到这一点?


21
文件上传ASP.NET MVC 3.0
(序言:此问题与2011年发布的 ASP.NET MVC 3.0 有关,与2019年发布的ASP.NET Core 3.0有关) 我想在asp.net mvc中上传文件。如何使用html input file控件上传文件?

30
找不到路径的一部分... bin \ roslyn \ csc.exe
我正在尝试运行从TFS源代码控制检索的Asp.net MVC项目。我已经添加了所有程序集引用,并且能够成功构建和编译而没有任何错误或警告。 但是我在浏览器中收到以下错误: 找不到路径“ C:\ B8akWorkspace \ B8akProject \ B8akSolution \ B8AK.Portal \ bin \ roslyn \ csc.exe”的一部分。 这是错误页面的完整屏幕截图。 经过几天的研究,我了解到Roslyn是.Net编译器平台,可提供高级编译功能。但是,我不明白为什么我的版本试图查找\ bin \ roslyn \ csc.exe,因为我没有配置与Roslyn相关的任何内容,也不打算在项目中使用Roslyn。
811 c#  asp.net  .net  asp.net-mvc  roslyn 

30
如何处理ASP.NET MVC Framework中的多个提交按钮?
是否有一些简单的方法可以处理来自同一表单的多个提交按钮?例如: <% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %> <input type="submit" value="Send" /> <input type="submit" value="Cancel" /> <% Html.EndForm(); %> 任何想法如何在ASP.NET Framework Beta中执行此操作?我搜索过的所有示例中都包含一个按钮。

30
如何从ASP.NET MVC中的枚举创建下拉列表?
有关如何使用ASP.NET MVC进行堆栈溢出的问题,请参见: 我正在尝试使用Html.DropDownList扩展方法,但无法弄清楚如何通过枚举使用它。 假设我有一个这样的枚举: public enum ItemTypes { Movie = 1, Game = 2, Book = 3 } 如何使用Html.DropDownList扩展方法使用这些值创建下拉列表? 还是我最好的选择就是简单地创建一个for循环并手动创建HTML元素?
668 c#  asp.net  asp.net-mvc 

29
我可以在web.config中为maxJsonLength设置无限长度吗?
我正在使用jQuery的自动完成功能。当我尝试检索超过17000条记录的列表(每条记录的长度不超过10个字符)时,它超过了长度,并引发错误: 异常信息: 异常类型:InvalidOperationException 异常消息:使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。 我可以设置无限长度maxJsonLength的web.config?如果没有,我可以设置的最大长度是多少?

9
ASP.NET MVC-设置自定义IIdentity或IPrincipal
我需要做一些相当简单的事情:在我的ASP.NET MVC应用程序中,我想设置一个自定义的IIdentity / IPrincipal。哪个更容易/更合适。我想扩展默认值,以便可以调用诸如User.Identity.Id和User.Identity.Role。没什么花哨的,只是一些额外的属性。 我读了无数的文章和问题,但是我觉得自己变得比实际困难。我以为会很容易。如果用户登录,我想设置一个自定义的IIdentity。所以我想,我会实施Application_PostAuthenticateRequest在global.asax中。但是,这是在每个请求上都调用的,我不想在每个请求上都对数据库进行调用,这会从数据库请求所有数据并将其放入自定义IPrincipal对象。这似乎也非常不必要,缓慢并且在错误的位置(在此处进行数据库调用),但我可能是错的。还是这些数据从哪里来? 因此,我认为,每当用户登录时,我都可以在会话中添加一些必要的变量,并将其添加到Application_PostAuthenticateRequest事件处理程序中的自定义IIdentity中。但是,我Context.Session在null那里,所以那也不是路。 我已经为此工作了一天,我感觉自己缺少一些东西。这应该不难做,对吧?我对与此附带的所有(半)相关的东西也感到困惑。MembershipProvider,MembershipUser,RoleProvider,ProfileProvider,IPrincipal,IIdentity,FormsAuthentication...。我是唯一一个谁发现这一切非常混乱? 如果有人可以告诉我一个简单,优雅,有效的解决方案,以在IIdentity上存储一些额外的数据而又不引起任何额外的麻烦,那就太好了!我知道在SO上也有类似的问题,但是如果我需要的答案在那里,我一定会忽略。


14
带参数的RedirectToAction
因此,我有一个从锚点调用的动作,Site/Controller/Action/ID其中ID是int。 稍后,我需要从Controller重定向到相同的Action。 有聪明的方法吗?当前,我存储在tempdata ID中,但是当您在返回后按f5键再次刷新页面时,tempdata消失了,页面崩溃了。

8
如何使ELMAH与ASP.NET MVC [HandleError]属性配合使用?
我正在尝试使用ELMAH在ASP.NET MVC应用程序中记录错误,但是,当我在控制器上使用[HandleError]属性时,ELMAH不会在发生错误时记录任何错误。 正如我所猜测的那样,因为ELMAH仅记录未处理的错误,并且[HandleError]属性正在处理错误,因此无需记录它。 如何修改或如何修改属性,以便ELMAH知道有错误并记录下来。 编辑:让我确保每个人都明白,我知道我可以修改属性,那不是我要问的问题...使用handleerror属性时,ELMAH被绕过,这意味着它不会看到错误,因为它已被处理已经在属性中了...我要问的是有一种方法可以使ELMAH看到错误并记录下来,即使该属性已将其记录下来...我四处搜寻,没有看到任何方法来强制将其记录下来错误....


19
如何解决:处理程序“ PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ ManagedPipelineHandler”
我正在配置MVC 3项目以在IIS的本地安装上工作,并遇到以下500错误: 处理程序“ PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ ManagedPipelineHandler”。 事实证明,这是因为即使我在“添加功能”对话框中选中了该框,ASP.Net仍未完全与IIS一起安装。要解决此问题,我只需在命令提示符处运行以下命令 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i 如果我使用的是32位系统,它将看起来像以下内容: %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i 我的问题是,有没有一种方法可以在Windows 7框上安装IIS以使用.NET 4.0(MVC 3),而无需采取额外步骤?

10
将数据传递到引导模式
我有几个超链接,每个超链接都有一个ID。当我单击此链接时,我想打开一个模式(http://twitter.github.com/bootstrap/javascript.html#modals),并将此ID传递给模式。我在Google上进行了搜索,但找不到任何可以帮助我的东西。 这是代码: <a data-toggle="modal" data-id="@book.Id" title="Add this item" class="open-AddBookDialog"></a> 哪个应该打开: <div class="modal hide" id="addBookDialog"> <div class="modal-body"> <input type="hidden" name="bookId" id="bookId" value=""/> </div> </div> 这段代码: $(document).ready(function () { $(".open-AddBookDialog").click(function () { $('#bookId').val($(this).data('id')); $('#addBookDialog').modal('show'); }); }); 但是,当我单击超链接时,没有任何反应。当我提供超链接时<a href="#addBookDialog" ...>,模式可以很好地打开,但是它不包含任何数据。 我遵循以下示例:如何将值参数传递给Bootstrap中的modal.show()函数 (我也尝试过这种方法:如何在模式对话框中设置输入值?)

30
Visual Studio调试/加载非常慢
我机智。Visual Studio 通常非常痛苦地调试或只是简单地加载(“不调试就启动”)我的ASP.NET MVC站点。并非总是如此:一开始,项目会很好且快速地加载,但是一旦加载缓慢,之后它们就会始终缓慢加载。我可能要等待1-2分钟或更长时间。 我的设置: 我目前使用的是Visual Studio 2012 Express,但在Visual Studio 2010 Express中也遇到相同的问题。我的解决方案存储在网络驱动器上。具体来说,如果重要的话,它是“我的文档”重定向到网络驱动器。(不应该。在这种设置下,有时我的网站加载速度非常快。) 我通常在Internet Explorer 9中加载,但是在Firefox中也会发生相同的问题。 这可能发生在我从事的任何ASP.NET MVC项目中,并且似乎与拥有DisplayTemplates有关,而我的所有ASP.NET MVC项目都这样做。如果这很重要,那就是C#和Razor。 症状: 系统将加载我的符号数百次。基本上,下面是,但是至少有300个这样的行,每个行对于相同的CSHTML都有非常不同的DLL文件: 'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.xighmhow.dll', Symbols loaded. 'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.cv5hktkf.dll', Symbols loaded. 'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.1o77hs8i.dll', Symbols loaded. 'iisexpress.exe' (Managed (v4.0.30319)): …

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.