Asp.Net MVC 4 Razor にこの非常に奇妙なエラーがあり、ビュー内に次のコードがあります。
@Html.InlineEditingContentText(CS.General_v4.Enums.HtmlTagName.Span, VisitGozo.Enums.VisitGozoEnums.ContentTextIdentifier.MasterPage_Weather_Title, "weather-widget-title masterpage-widget-title")
InlineEditingContentText
内部で持っている拡張メソッドです。渡される 2 番目のパラメーターは列挙パラメーターであり、上からわかるように、値はVisitGozo.Enums.VisitGozoEnums.ContentTextIdentifier.MasterPage_Weather_Title
です。拡張メソッドをデバッグするInlineEditingContentText
と、実際に受信される 2 番目のパラメーターは受信されませんVisitGozo.Enums.VisitGozoEnums.ContentTextIdentifier.MasterPage_Weather_Title
がVisitGozo.Enums.VisitGozoEnums.ContentTextIdentifier.MasterPage_Header_LoggedOutText
、たまたま ContentTextIdentifier 列挙の次の値になりますVisitGozo.Enums.VisitGozoEnums.ContentTextIdentifier.MasterPage_Weather_Title
。
列挙に値を割り当てていないため、それぞれのint
値は自動的に増分されます。
- 不思議なことに、まったく同じプロジェクトを別のワークステーションにロードすると、問題なく動作します。
- また、ビューにいくつかの変更 (空白を追加するなど) を実行して保存すると、これも正常に機能します。
この奇妙な問題が発生している理由について、考えられる洞察はありますか?
編集#1:また、展開サーバーにWebサイトをアップロードしたとき、同じワークステーションを使用してコンパイルした後、エラーも引き継がれました
編集 #2: 2013-10-22 > 実際の運用サーバーにファイルを展開する場合でも、この同じ問題が引き続き発生し、そのような誤った列挙値が引き継がれています。この問題を解決する唯一の方法は、ビューをサーバーまたはローカルから削除し、再度上書きすることです。この問題を解決する方法はありますか? ビューをキャッシュするべきではないので、なぜこれが起こっているのか本当に理解できませんか? どんな形でも助けていただければ幸いです!