開発マシンで MVC4 Web アプリを問題なく実行していますが、ホスト サーバーにデプロイすると、次の例外がスローされ@using(Html.BeginForm())
ます。
文字列は有効なブール値として認識されませんでした。 説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。 例外の詳細: System.FormatException: 文字列が有効なブール値として認識されませんでした。 ソース エラー: 4 行目: 5 行目: 6 行目: @using(Html.BeginForm(new { returnurl = ViewBag.Returnurl })) 7 行目: { 8 行目: @Html.AntiForgeryToken() ソース ファイル: e:\Sites\familybook\Views\Login\Login.cshtml 行: 6 スタックトレース: [FormatException: 文字列は有効なブール値として認識されませんでした。] System.Boolean.Parse(文字列値) +12636900 System.Convert.ChangeType(オブジェクト値、型変換タイプ、IFormatProvider プロバイダー) +12819466 System.Web.Mvc.ViewContext.ScopeGet(IDictionary`2 スコープ、文字列名、TValue defaultValue) +89 System.Web.Mvc.ScopeCache..ctor(IDictionary`2 スコープ) +48 System.Web.Mvc.ScopeCache.Get(IDictionary`2 スコープ、HttpContextBase httpContext) +282 System.Web.Mvc.ViewContext.GetClientValidationEnabled(IDictionary`2 スコープ、HttpContextBase httpContext) +9 System.Web.Mvc.Html.FormExtensions.FormHelper(HtmlHelper htmlHelper、文字列 formAction、FormMethod メソッド、IDictionary`2 htmlAttributes) +162 System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper htmlHelper, Object routeValues) +192 ASP._Page_Views_Login_Login_cshtml.Execute() in e:\Sites\familybook\Views\Login\Login.cshtml:6 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 ライター、WebPageRenderingBase startPage) +181 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext コンテキスト) +380 System.Web.Mvc.c__DisplayClass1a.b__17() +33 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter フィルター、ResultExecutingContext preContext、Func`1 継続) +613 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext、IList`1 フィルター、ActionResult actionResult) +263 System.Web.Mvc.Async.c__DisplayClass25.b__22(IAsyncResult asyncResult) +230 System.Web.Mvc.c__DisplayClass1d.b__18(IAsyncResult asyncResult) +28 System.Web.Mvc.Async.c__DisplayClass4.b__3(IAsyncResult ar) +20 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53 System.Web.Mvc.Async.c__DisplayClass4.b__3(IAsyncResult ar) +20 System.Web.Mvc.c__DisplayClass8.b__3(IAsyncResult asyncResult) +42 System.Web.Mvc.Async.c__DisplayClass4.b__3(IAsyncResult ar) +20 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値 & 完了した同期) +375 バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.272
ホスト サーバーは、IIS 7.5 と、OS および .NET 4 フレームワークの最新の更新プログラムがインストールされた Windows サーバー 2008 R2 64 ビットです。
面白いことに、以前に展開したときに、サーバーを Windows 更新プログラムで更新するまで、このエラーが発生しませんでした。私が指摘したもう 1 つのことは、パブリッシュのタイプをデバッグするように設定すると、アプリケーションは問題なく動作しますが、リリース パブリッシュ タイプでは機能しないということです。
また、開発マシンのローカル フォルダーにデプロイしてから、コンテンツをホスト サーバーにコピーしようとしましたが、最終結果は同じでした。
編集:
@model FamilyBook.Models.Account.LoginUserModel
@Scripts.Render("~/bundles/jqueryval")
<section>
@using(Html.BeginForm(new { returnurl = ViewBag.Returnurl }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Login with local account</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Username)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Username)
@Html.ValidationMessageFor(model => model.Username)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.RememberMe)
</div>
<div class="editor-field">
@Html.CheckBoxFor(model => model.RememberMe)
</div>
<p>
<input type="submit" value="Login" />
</p>
</fieldset>
}
</section>