Asp.net mvc MVC 4.0字符串未被识别为有效的布尔值

Asp.net mvc MVC 4.0字符串未被识别为有效的布尔值,asp.net-mvc,boolean,string-formatting,Asp.net Mvc,Boolean,String Formatting,我有一个剃须刀2.0的形式,这是完美的局部工作。我已经验证了用于MVC、Razor和helpers的prod上的dll都是最新版本。我在每个使用不同参数的@Html.BeginForm的页面上都会遇到这个异常。只要不使用表单帮助程序,MVC页面似乎工作正常: Exception: [FormatException: String was not recognized as a valid Boolean.] System.Boolean.Par

我有一个剃须刀2.0的形式,这是完美的局部工作。我已经验证了用于MVC、Razor和helpers的prod上的dll都是最新版本。我在每个使用不同参数的
@Html.BeginForm
的页面上都会遇到这个异常。只要不使用表单帮助程序,MVC页面似乎工作正常:

Exception:
           [FormatException: String was not recognized as a valid Boolean.]
               System.Boolean.Parse(String value) +13981920
               System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider
      provider)     +811
               System.Web.Mvc.ViewContext.ScopeGet(IDictionary`2 scope, String name, TValue 
    defaultValue) +89
               System.Web.Mvc.ScopeCache..ctor(IDictionary`2 scope) +75
               System.Web.Mvc.ScopeCache.Get(IDictionary`2 scope, HttpContextBase httpContext) +299
               System.Web.Mvc.ViewContext.GetClientValidationEnabled(IDictionary`2 scope, 
    HttpContextBase 

            httpContext) +9

               System.Web.Mvc.Html.FormExtensions.FormHelper(HtmlHelper htmlHelper, String formAction, 
    `enter code here`FormMethod method, IDictionary`2 htmlAttributes) +233
               System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper htmlHelper, String actionName, 
    String controllerName, FormMethod method, Object htmlAttributes) +134
               ASP._Page_Views_Portal_LoginForm_cshtml.Execute() in 
    e:\WebRoot\NW_QA_BleedHR\Views\Portal\LoginForm.cshtml:4
               System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +280
               System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +125
               System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, 
    TextWriter writer, WebPageRenderingBase startPage) +196
               System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String 
    partialViewName, Object model, ViewDataDictionary viewData) +147
               ASP._Page_Views_Portal_Welcome_cshtml.Execute() in 
    e:\WebRoot\NW_QA_BleedHR\Views\Portal\Welcome.cshtml:9
               System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +280
               System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +125
               System.Web.WebPages.StartPage.ExecutePageHierarchy() +143
               System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, 
    TextWriter writer, WebPageRenderingBase startPage) +181
               System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+380
               System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
+33
               System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, 
    ResultExecutingContext preContext, Func`1 continuation) +613
               System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext

    controllerContext, IList`1 filters, ActionResult actionResult) +263
               System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult

    asyncResult) +240
               System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +28
               System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15
               System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
               System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15
               System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +42
               System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15
               System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

    +606
               System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& 
    completedSynchronously) +288
异常:
[格式异常:字符串未被识别为有效的布尔值。]
System.Boolean.Parse(字符串值)+13981920
System.Convert.ChangeType(对象值、类型conversionType、IFormatProvider
供应商)+811
System.Web.Mvc.ViewContext.ScopeGet(IDictionary`2作用域,字符串名称,TValue
默认值)+89
System.Web.Mvc.ScopeCache..ctor(IDictionary`2 scope)+75
System.Web.Mvc.ScopeCache.Get(IDictionary`2 scope,HttpContextBase httpContext)+299
System.Web.Mvc.ViewContext.GetClientValidationEnabled(IDictionary`2作用域,
HttpContextBase
httpContext)+9
System.Web.Mvc.Html.FormExtensions.FormHelper(HtmlHelper、字符串formAction、,
`在此处输入代码`FormMethod,IDictionary`2 htmlAttributes)+233
System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper HtmlHelper,字符串actionName,
字符串控制器名称,FormMethod方法,对象htmlAttributes)+134
ASP.\页面\视图\门户\登录信息\ cshtml.Execute()在中
e:\WebRoot\NW\u QA\u BleedHR\Views\Portal\LoginForm.cshtml:4
System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+280
System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+125
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,
TextWriter编写器,WebPagerUnderingBase起始页)+196
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper HtmlHelper,字符串
partialViewName,对象模型,ViewDataDictionary viewData)+147
ASP.\u页面\u视图\u门户\u欢迎\u cshtml.Execute()中的
e:\WebRoot\NW\u QA\u BleedHR\Views\Portal\Welcome.cshtml:9
System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+280
System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+125
System.Web.WebPages.StartPage.ExecutePageHierarchy()+143
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,
TextWriter编写器,WebPagerUnderingBase起始页)+181
System.Web.Mvc.ViewResultBase.ExecuteSult(ControllerContext上下文)
+380
System.Web.Mvc.c__显示Class1A.b__17()
+33
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter过滤器,
结果执行上下文预文本,Func`1 continuation)+613
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext
controllerContext,IList`1过滤器,ActionResult ActionResult)+263
System.Web.Mvc.Async.c\uuuu DisplayClass25.b\uuu 22(IAsyncResult
异步结果)+240
System.Web.Mvc.c_uuudisplayClassId.b_uuu18(IAsyncResult asyncResult)+28
System.Web.Mvc.Async.c_uuuudisplayClass4.b_uuuu3(IAsyncResult ar)+15
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+53
System.Web.Mvc.Async.c_uuuudisplayClass4.b_uuuu3(IAsyncResult ar)+15
System.Web.Mvc.c_uuudisplayClass8.b_uuu3(IAsyncResult asyncResult)+42
System.Web.Mvc.Async.c_uuuudisplayClass4.b_uuuu3(IAsyncResult ar)+15
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+606
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值和
同步完成)+288
这个表格非常简单:

@model GIS.Pangea.NW.Presentation.ViewModels.LoginView
<div id="DOAlogin_div">

   @using (Html.BeginForm("CandidateLogin", "account", FormMethod.Post, new { id = "loginform" }))
   {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary()

        <table id="loginForm_tb">
            <tr>
                <td colspan="2" id="loginHeader_td">
                    <h3 id="loginHeader_h3">@Model.ReturningApplicantText</h3>
                </td>
            </tr>
            <tr>
                <td class="fieldName_td" id="username_td">
                    @Html.LabelFor(p=>Model.LoginDto.UserName)
                </td>
                <td class="fieldData_td" id="usernameinput_td">
                    @Html.TextBoxFor(p => Model.LoginDto.UserName, new {id="UserName",Name="UserName" })
                    @Html.ValidationMessage("UserName")
                </td>
            </tr>
            <tr>
                <td class="fieldName_td" id="password_td">
                    <label for="Password">
                        @Html.Encode(Model.PasswordText)
                    </label>
                </td>
                <td class="fieldData_td" id="passwordinput_td">
                    @Html.PasswordFor(p=>Model.LoginDto.Password,  new {id="Password",Name="Password" })
                    @Html.ValidationMessage("Password")
                </td>
            </tr>
            <tr>
                <td colspan="2" id="forgotPassword_td">
                    @Html.ActionLink("Forgot Username or Password?","ForgotPassword")
                </td>
            </tr>
            <tr>
                <td colspan="2" id="loginSubmit_td" class="submit_td">
                    <input type="submit" class="formButton" value="@Model.LoginButtonText" />
                </td>
            </tr>
            <tr>
                <td colspan="2" id="loginValidation_td">
                    @if (!String.IsNullOrEmpty(Model.LoginDto.ValidationMessage))
                    {
                        <span class="validationMessage">@Model.LoginDto.ValidationMessage</span>
                    }
                </td>
            </tr>
        </table>

   }
</div>
@model GIS.Pangea.NW.Presentation.ViewModels.LoginView
@使用(Html.BeginForm(“CandidateLogin”、“account”、FormMethod.Post、new{id=“loginform”}))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
@Model.returningapplicationtext
@LabelFor(p=>Model.LoginDto.UserName)
@TextBoxFor(p=>Model.LoginDto.UserName,新的{id=“UserName”,Name=“UserName”})
@Html.ValidationMessage(“用户名”)
@Html.Encode(Model.PasswordText)
@PasswordFor(p=>Model.LoginDto.Password,新的{id=“Password”,Name=“Password”})
@Html.ValidationMessage(“密码”)
@ActionLink(“忘记用户名或密码?”,“放弃密码”)
@如果(!String.IsNullOrEmpty(Model.LoginDto.ValidationMessage))
{
@Model.LoginDto.ValidationMessage
}
}
我最初怀疑dll版本错误或丢失。所有MVC组件都应该在bin文件夹中,我已经对此进行了验证(至少是顶级DLL)

这是我的视图配置文件:
Here is my view config file:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
          <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
        </sectionGroup>
      </configSections>
      <system.web.webPages.razor>
        <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <pages pageBaseType="System.Web.Mvc.WebViewPage">
          <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Optimization" />
            <add namespace="System.Web.Routing" />
            <add namespace="MVCControlsToolkit.Core" />
            <add namespace="MVCControlsToolkit.Controls" />
            <add namespace="MVCControlsToolkit.Controls.Validation" />
          </namespaces>
        </pages>
      </system.web.webPages.razor>
      <appSettings>
        <add key="webpages:Enabled" value="false" />
      </appSettings>
      <system.web>
        <compilation debug="false" targetFramework="4.5">
          <assemblies>
            <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <add assembly="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
          </assemblies>
        </compilation>
        <httpHandlers>
          <add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
        </httpHandlers>
        <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <controls>
            <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
          </controls>
        </pages>
      </system.web>
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
          <remove name="BlockViewHandler" />
          <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
        </handlers>
      </system.webServer>
    </configuration>


This project uses a combination of ASP pages and MVC Views, and previously was working with webforms 1.0 and MVC 2.0. The application is setup as an application under the default website. I've seen lots of variations with this same exception but most came down to syntax errors in the form helpers. This seems to be more environmentally related. Any help would be greatly appreciated!
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="none" />