Questions tagged «asp.net-mvc-4»

ASP.NET MVC 4是用于Web应用程序的ASP.NET Model-View-Controller平台的第四个主要版本。

11
如何将多个参数传递给ASP.Net Web API GET?
我正在使用.Net MVC4 Web API来(希望)实现RESTful api。我需要向系统传递一些参数,并让它执行一些操作,然后返回对象列表作为结果。具体来说,我传递了两个日期并返回了两个日期之间的记录。我还跟踪返回的记录,以便后续调用不会在系统中得到重新处理。 我考虑了几种方法: 将参数序列化为一个JSON字符串,然后在API中将其分离。 http://forums.asp.net/t/1807316.aspx/1 在查询字符串中传递参数。 将多个查询参数传递给静态API的最佳方法是什么? 定义路径中的参数:api / controller / date1 / date2 使用POST可以使我通过参数传递对象。 由于Web API(当前)支持ODATA,因此正在研究ODATA。我还没有做很多事情,所以我不太熟悉。 似乎正确的REST做法表明何时提取数据,应该使用GET。但是,GET也应该是无效的(不产生副作用),并且我想知道我的具体实现是否违反了该规定,因为我在API系统中标记了记录,因此产生了副作用。 这也使我想到了支持可变参数的问题。如果输入参数列表发生更改,那么如果必须经常为选择3重新定义您的路线,那将很麻烦。如果在运行时定义参数会发生什么... 无论如何,对于我的特定实现,哪种选择(如果有)似乎最好?

10
反伪造令牌用于用户“”,但当前用户是“用户名”
我正在构建一个单页应用程序,并且遇到防伪令牌问题。 我知道为什么会发生此问题,我只是不知道如何解决。 当发生以下情况时出现错误: 非登录用户将加载一个对话框(带有生成的防伪令牌) 用户关闭对话框 用户登录 用户打开相同的对话框 用户在对话框中提交表单 反伪造令牌用于用户“”,但当前用户是“用户名” 发生这种情况的原因是因为我的应用程序是100%单页的,并且当用户通过ajax发布成功登录到时/Account/JsonLogin,我只是使用从服务器返回的“已验证的视图”切换出当前视图,但不重新加载页。 我知道这是因为,如果我在步骤3和4之间简单地重新加载页面,就不会出错。 因此,@Html.AntiForgeryToken()在重新加载页面之前,似乎在加载的表单中仍为旧用户返回令牌。 如何更改@Html.AntiForgeryToken()以为新的经过身份验证的用户返回令牌? 我在每次调用时都注入了一个GenericalPrincipal带有自定义的新变量,实际上,我的自定义Identity 属性的属性设置为true,但除非我重新加载页面,否则它似乎仍为旧用户呈现令牌。IIdentityApplication_AuthenticateRequest@Html.AntiForgeryToken()HttpContext.Current.User.IdentityIsAuthenticated@Html.AntiForgeryToken

9
Windows更新导致MVC3和MVC4停止工作
我是10月15日唯一安装Windows Update(8.1)并由于此警告突然MVC停止工作的人吗? 警告1无法解决此引用。无法找到程序集“ System.Web.Mvc,版本= 4.0.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL”。检查以确保程序集在磁盘上。如果您的代码需要此引用,则可能会出现编译错误。 似乎此Windows更新安装了版本号为4.0.0.1的MVC的较新版本,并从程序文件文件夹中删除了旧版本。 有人知道如何解决此问题而不必为每个项目进行爬网吗?

2
在哪里可以找到NuGet软件包以升级到System.Web.Http v5.0.0.0?
刚刚将ASP.NET MVC4项目升级为使用Unity.WebApi版本5.0.0.0,并且根据以下错误需要System.Web.Http v 5.0.0.0: Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 我目前正在引用System.Web.Http v4.0,但是将以下NuGet软件包升级到了各自的最新版本: ANTLRv3 Microsoft ASP.NET通用提供程序 Microsoft.Web.Infrastructure Microsoft ASP.NET MVC Microsoft ASP.NET剃刀 Microsoft ASP.NET通用提供程序核心库 Microsoft ASP.NET通用提供程序 Microsoft ASP.NET Web API 2客户端 Microsoft ASP.NET Web API …

6
如何使用ApiController返回原始字符串?
我有一个服务于XML / JSON的ApiController,但我希望我的操作之一返回纯HTML。我尝试了以下内容,但仍返回XML / JSON。 public string Get() { return "<strong>test</strong>"; } 这就是上面的返回: <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string> 有没有一种方法可以只返回不经过转义的纯文本,甚至不包含周围的XML标签(可能是action属性的返回类型不同)?

9
从MVC中的List <object>填充剃须刀下拉列表
我有一个模型: public class DbUserRole { public int UserRoleId { get; set; } public string UserRole { get; set; } } public class DbUserRoles { public List&lt;DbUserRole&gt; GetRoles() { BugnetReports RoleDropDown = new BugnetReports(); List&lt;DbUserRole&gt; Roles = new List&lt;DbUserRole&gt;(); DataSet table = RoleDropDown.userRoleDropDown(); foreach (DataRow item in table.Tables[0].Rows) { DbUserRole ur …

17
将数据传递到所有页面共有的布局
我有一个网站,其中有一个布局页面。但是,此布局页面具有所有页面模型都必须提供的数据,例如页面标题,页面名称以及我为执行某些操作的HTML帮助器所实际位于的位置。每个页面也都有自己的视图模型属性。 我怎样才能做到这一点?键入布局似乎不是一个好主意,但是如何传递这些信息呢?

18
在ASP.NET MVC 4中获取复选框值
我正在开发ASP.NET MVC 4应用程序。这个程序有一个基本形式。我的表单的模型如下所示: public class MyModel { public string Name { get; set; } public bool Remember { get; set; } } 在我的表单中,我具有以下HTML。 &lt;input id="Name" name="Name" type="text" value="@Model.Name" /&gt; &lt;input id="Remember" name="Remember" type="checkbox" value="@Model.Remember" /&gt; &lt;label for="Remember"&gt;&amp;nbsp;Remember Me?&lt;/label&gt; 发布表单时,模型中的“记住”值始终为false。但是,模型中的Name属性具有一个值。我已经通过在以下位置设置断点进行了测试: [HttpPost] public ActionResult MyAction(MyModel model) { Console.WriteLine(model.Remember.ToString()); } 我不知道。为什么未设置Checkbox值?
122 c#  asp.net-mvc-4 

4
具有权限代码的ASP.NET MVC 4自定义授权属性(无角色)
我需要在MVC 4应用程序中基于用户权限级别(没有角色,只有CRUD操作级别的权限级别分配给用户)来控制对视图的访问。 举个例子; 下面的AuthorizeUser将是我的自定义属性,我需要像这样使用它: [AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")] public ActionResult UpdateInvoice(int invoiceId) { // some code... return View(); } [AuthorizeUser(AccessLevels="Create Invoice")] public ActionResult CreateNewInvoice() { // some code... return View(); } [AuthorizeUser(AccessLevels="Delete Invoice")] public ActionResult DeleteInvoice(int invoiceId) { // some code... return View(); } 有可能这样做吗?


14
WebAPI删除不起作用-不允许使用405方法
感谢您对此网站的帮助,因为该网站应该在今晚上线! 我有一个带有Delete方法的Web API控制器。该方法可以在运行IIS Express(Windows 8)的本地计算机上正常运行,但是一旦将其部署到实时IIS服务器(Windows Server 2008 R2),它就会停止工作并抛出以下错误消息: HTTP错误405.0-不允许使用的方法由于使用了无效的方法(HTTP Verb),因此无法显示正在寻找的页面 我在网上寻找解决方案,并实施了最合理的解决方案。我的网络配置具有以下设置: &lt;system.webServer&gt; &lt;validation validateIntegratedModeConfiguration="false" /&gt; &lt;handlers&gt; &lt;remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /&gt; &lt;remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /&gt; &lt;remove name="ExtensionlessUrlHandler-Integrated-4.0" /&gt; &lt;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" /&gt; &lt;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" /&gt; &lt;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" /&gt; …

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

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

9
网站无法在asp.net中工作System.Web.WebPages.Razor.Configuration.HostSection无法转换为
我在服务器上遇到这样的问题 无法将[A] System.Web.WebPages.Razor.Configuration.HostSection强制转换为[B] System.Web.WebPages.Razor.Configuration.HostSection。类型A源自'System.Web.WebPages.Razor,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'在上下文'Default'中的位置'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll'。类型B源自'System.Web.WebPages.Razor,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'在上下文'Default'中的位置'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll'。 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。 异常详细信息:System.InvalidCastException:无法将[A] System.Web.WebPages.Razor.Configuration.HostSection强制转换为[B] System.Web.WebPages.Razor.Configuration.HostSection。类型A源自'System.Web.WebPages.Razor,Version = 2.0.0.0,Culture …

20
目录不存在。参数名称:directoryVirtualPath
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我刚刚将项目发布到Arvixe上的主机上,并收到此错误(在本地工作正常): Server Error in '/' Application. Directory does not exist. Parameter name: directoryVirtualPath 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.ArgumentException: Directory does …

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.