Tag: mvc

与禁用的文本框的模型绑定

我有一个我定义的文本框 <%= Html.TextBox("Username", Model.Form.Username, new { @class = "textbox", @disabled = "disabled" })%> 在我的行动 [AcceptVerbs(HttpVerbs.Post)] [ValidateAntiForgeryToken] public ActionResult EditLogin(LoginForm post) { … return View(model); } 用户名将是空的,所有其他属性绑定正确,但如果我更改@禁用=“禁用@ readonly =”只读“用户名绑定正确,一切正常。 它看起来像模型绑定忽略禁用字段中的值。 他们是否有办法解决这个问题? 我仍然需要该字段的值绑定到模型。 我可以使用只读,但宁愿使用禁用,因此它是在视觉上明显的用户,他们不能编辑字段的值。

RequestVerificationToken不匹配

我有一个反CRSF MVC机制的问题。 返回的cookie和表单input不匹配。 我每次都收到一个错误,只能在一个特定的页面。 在其余的应用程序中,它运作良好。 服务器正在返回HTTP 500 Internal Server Error ,我可以在日志中看到这个exception: [System.Web.Mvc.HttpAntiForgeryException]:{“所需的防伪标记未提供或无效。”} 这是服务器正在生成的隐藏input是: <input name="__RequestVerificationToken" type="hidden" value="QK8P7rjyZE6Vm5seY7Fr704YCOoFGdTIMzl1W7R0ZFpXSMjGKLG2T05DfFSYTxvtQCEx7DDT69DGsDB2+ZXFHY8oAjiKz0gw8BhDFywgmfIpoXnGpj7fONNzIIfvbrDrE9WJsMu6Io/0bDLM5WfKs0zktiNjyOWpfYrmnfINYmjW8NLOZFoz74xTcgTptAld"> 这是返回的Cookie: Set-Cookie:__RequestVerificationToken_L2VGbG93=skmTAVI8HCbfxDS+xhioIMIISL3UOBI7qJM1JbHjTtAqKl4W70pDUcTKMm0p3R3mrHDziE8vXw0C0OO4HArzWO1/e6py+v/cFdbe9maFgjl4jMiZ9Wc4YIhC6+IUXkk6yqJDJ8dCIr8qtGaYcD9IX+m7/SlVhu521KQSWJYRcaY=; path=/; HttpOnly 当我检查服务器发送的内容时,cookie是完全一样的,但是我认为有效载荷有不同的编码: __RequestVerificationToken:QK8P7rjyZE6Vm5seY7Fr704YCOoFGdTIMzl1W7R0ZFpXSMjGKLG2T05DfFSYTxvtQCEx7DDT69DGsDB2%2BZXFHY8oAjiKz0gw8BhDFywgmfIpoXnGpj7fONNzIIfvbrDrE9WJsMu6Io%2F0bDLM5WfKs0zktiNjyOWpfYrmnfINYmjW8NLOZFoz74xTcgTptAld 差异是以两个字符显示编码: / -> %2F + -> %2B 这些是我可以find隐藏的input字段和后有效载荷之间唯一的区别。 可能是导致ValidateAntiForgeryTokenvalidation令牌失败的问题? 问候。

在Application_BeginRequest中设置会话variables

我正在使用ASP.NET MVC,我需要在Application_BeginRequest设置一个会话variables。 问题是,在这一点上对象HttpContext.Current.Session始终为null 。 protected void Application_BeginRequest(Object sender, EventArgs e) { if (HttpContext.Current.Session != null) { //this code is never executed, current session is always null HttpContext.Current.Session.Add("__MySessionVariable", new object()); } }

“System.Data.Entity.Internal.AppConfig”的types初始值设定项引发exception

我在MVC 4 aspnet网站上使用EF5。 在本地,一切正常,但是当我发布到IIS并尝试进入,我得到的错误 “System.Data.Entity.Internal.AppConfig”的types初始值设定项引发了一个exception。“ 详细的例外 创buildentityFramework的configuration节处理程序时发生错误:在应用程序configuration中多次指定了DbContexttypes“GdpSoftware.Server.Data.GdpSoftwareDbContext,GdpSoftware.Server.Data”的configuration。 每个上下文只能configuration一次。 (E:\ App \ web.config第104行) 我在StackOverflow中检查了上一个问题,并且已经通过Nuget EntityFramework卸载并重新安装,并且检查了每个项目中对它的每个引用是EF5。 我也检查了每个项目中选定的框架是4.5。 任何想法,什么可能会导致这个问题? 谢谢! 吉列尔莫。 web.config中 <?xml version="1.0" encoding="utf-8"?> <!– For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 –> <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <!– For more information on Entity Framework […]

spring – 没有实际交易可用于当前线程的EntityManager – 不能可靠地处理“持续”呼叫

我试图调用“持久”方法来保存实体模型到我的Spring MVC Web应用程序中的数据库时,出现此错误。 在互联网上找不到任何可能与此特定错误有关的post或页面。 这看起来像EntityManagerFactory bean的东西是错误的,但我是相当新的spring编程,所以对于我来说,似乎一切都很好初始化,根据各种教程的文章在networking上。 调度员servlet.xml中 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd http://www.springframework.org/schema/data/repository http://www.springframework.org/schema/data/repository/spring-repository-1.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd"> <context:component-scan base-package="wymysl.Controllers" /> <jpa:repositories base-package="wymysl.repositories"/> <context:component-scan base-package="wymysl.beans" /> <context:component-scan base-package="wymysl.Validators" /> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> <bean class="org.springframework.orm.hibernate4.HibernateExceptionTranslator"/> <bean id="passwordValidator" class="wymysl.Validators.PasswordValidator"></bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" […]

Spring Web MVC:请求参数和pathvariables使用相同的请求映射

有没有一种方式来expression,我的Spring Web MVC控制器方法应该通过请求交付一个ID作为URIpath的一部分匹配… @RequestMapping(method=RequestMethod.GET, value="campaigns/{id}") public String getCampaignDetails(Model model, @PathVariable("id") Long id) { …或者,如果客户端发送ID作为样式中的HTTP请求参数… @RequestMapping(method=RequestMethod.GET, value="campaigns") public String getCampaignDetails(Model model, @RequestParam("id") Long id) { 这在我看来是一个相当常见的真实世界的URLscheme,我不想添加重复的代码,但我还没有find答案。 任何build议非常欢迎。 编辑:事实certificate,目前似乎(与Spring MVC的= 3.0)无法实现这一点,见Javi的答案内的讨论。

为什么不能在MVC4 Razor布局文件中识别@Scripts和@Styles命令?

下面的MVC4 Razor布局文件加载了在Bundle.config中创build的几个脚本和css包。 <!DOCTYPE html> <html class="no-js" lang="en"> <head> <meta charset="utf-8" /> <title>XXX Beta</title> @Scripts.Render( "~/bundles/bundle_jquery", "~/bundles/bundle_modernizr", "~/bundles/bundle_foundation", "~/bundles/bundle_jhs") @Styles.Render( "~/Content/bundle_foundation", "~/Content/bundle_jhs") @RenderSection("pageHeadContent", false) </head> <body> <div id="bodyContainer"> @Html.Partial("Partial/_header") <div id="contentContainer"> <div id="mainContentContainer"> <div id="sidebarContainer"> @RenderSection("sidebarContent", required: true) </div> @RenderBody() </div> <div class="clearBoth"> </div> </div> @Html.Partial("Partial/_footer") </div> </body> </html> 页面呈现时出现以下错误。 出于某种原因,@Scripts和@Styles命令不被识别。 如果我在文件中键入“@Scripts”,则Intellisense不显示/显示该命令。 该项目确实引用了在Bundle.config中使用的System.Web.Optimization。 什么可能导致@Scripts和@Styles命令不被识别? “/”应用程序中的服务器错误。 编译错误 […]

如何将我的DDD模型中的“用户”与validation用户进行集成?

我正在创build我的第一个ASP.NET MVC网站,并一直试图遵循域驱动的开发。 我的网站是一个项目协作网站,用户可以分配到网站上的一个或多个项目。 然后将任务添加到项目中,并将具有项目的用户分配给任务。 所以“用户”是我的领域模型的基本概念。 我的计划是有一个“用户”模型对象,其中包含有关用户的所有信息,可以通过IUserRepository访问。 每个用户都可以通过UserId来识别。 虽然我不确定在这一点上,如果我想UserId是一个string或整数。 我的域对象应如何与用户和IUserRepository相关的更多我的网站的pipe理function,如授权用户,并允许他们login? 如何将我的域模型与ASP.NET的其他方面(如HttpContext.User,HttpContext.Profile,自定义MemberShipProvider,自定义ProfileProvider或自定义AuthorizeAttribute? 我应该创build一个自定义MembershipProvider和/或ProfileProvider包装我的IUserRepository? 虽然,我也可以预见为什么我可能希望将我的域模型中的用户信息与我的网站上的用户授权分开。 例如在将来我可能想从窗体身份validation切换到Windows身份validation。 最好不要试图重新发明轮子,并坚持使用内置于ASP.NET的标准SqlMembershipProvider? 每个用户的configuration文件信息都将存储在域模型(User / IUserRepository)中,但不包括其密码。 然后,我会使用标准的ASP.NET成员资格来处理创build和授权用户? 因此,需要在某处添加一些代码,以便在创build帐户或第一次login时为IUserRepository中的新用户创buildconfiguration文件。

如何在.NET MVC 2中实现正确的HTTPerror handling?

我一直在努力整天在我的ASP.NET MVC 2应用程序中实现error handling。 我已经看过各种技术,但都没有正常工作。 我正在使用MVC2和.NET 4.0(在MVC3发布之前启动了项目;我们将在我们发布初始版本后进行升级)。 在这一点上,我会很乐意妥善处理404和500错误 – 403(需要授权)也会很好,其次是各种其他具体的回应。 现在,我可以在404之前全部拿到404,全部500,全部302,在500之前全部拿到302。 这是我的要求(它应该非常接近HTTP的基本要求): 如果找不到资源,则抛出一个404,并显示一个404请求的URL的特定页面。 不要像302那样返回一个中间响应代码。理想情况下,保持请求的URL,而不是像/Error/NotFound那样显示一个新的URL,但是如果后者显示,确保我们没有返回redirect响应来获取它。 如果发生内部服务器错误,请抛出500,并显示一个500特定的错误,并指出错误的位置。 同样,不要返回中间响应代码,理想情况下不要更改URL。 以下是我想要的404: 找不到静态文件: /Content/non-existent-dir/non-existent-file.txt 未find控制器: /non-existent-controller/Foo/666 find控制器,但未find操作: /Home/non-existent-action/666 find控制器和操作,但操作无法find请求的对象: /Home/Login/non-existent-id 以下是我认为的500: 发布一个错误的值: POST /User/New/new-user-name-too-long-for-db-column-constraint 与数据无关的问题,如Web Service端点未响应 其中一些问题需要通过特定的控制器或模型来识别,然后控制器应该抛出相应的HttpException。 其余的应该更通用地处理。 对于404情况#2,我试图使用自定义的ControllerFactory来抛出404如果控制器无法find。 对于404情况#3,我试图使用一个自定义的基本控制器来覆盖HandleUnknownAction并抛出404。 在这两种情况下,我在404之前得到了一个302.而且,我从来没有得到500个错误; 如果我修改Web.config来在我的Web服务端点input一个拼写错误,我仍然得到一个302,然后一个404说不能find使用 Web服务的URL(控制器/操作)。 我也得到请求的URL作为(不需要的)查询string参数: /Error/NotFound?aspxerrorpath=/Home/non-existent-action 这两种技术来自http://www.niksmit.com/wp/?p=17 (如何使用ASP.Net MVC获得正常的404(页面未find)错误页面),从http:// richarddingwall指出。名称/ 2008/08/17 /为基础的战略,为资源-404-错误-在-ASPNET-MVC / 如果在Web.config中有<customErrors mode="On" defaultRedirect="~/Error/Unknown" redirectMode="ResponseRedirect" /> ,我会得到相应的响应代码,但是我的Error控制器永远不会被调用。 取出redirectMode属性让我的MVC错误的意见,但与一个介入302和一个更改的URL – […]

在ASP.Net MVC中禁用会话状态每个请求

我正在ASP.Net MVC中创build一个ActionResult服务图像。 在启用会话状态的情况下,IIS一次只能从同一个用户处理一个请求。 (这不仅仅是在MVC中) 因此,在具有多个调用此Action的图像的页面上,一次只能处理一个图像请求。 这是同步的。 我想这个图像的行动是asynchronous的 – 我想多个图像请求,每个执行,而不需要以前完成。 (如果图像只是静态文件,IIS将以这种方式提供服务。) 所以,我想禁用会话只是为了调用该动作,或者指定某些请求没有会话状态。 任何人都知道这是如何在MVC中完成? 谢谢!