として認識されていなかった私はもともと下記のとおりビュー内のいくつかのチェックボックスを生成していました:ビュー生成するエラーメッセージ:文字列は、管理者ページ内の有効なブール
モデル:
public class Foo
{
public const string Bar = "SomeString";
}
ビュー:
@Html.CheckBox(Foo.Bar)
@Html.Label(Foo.Bar)
しかし、私は、チェックボックスのいくつかの表示名を変更したいので、私は(後に表示名属性を追加するために)ビューモデルを作成しました:
チェックボックスをレンダリングするとき@Html.CheckBox(Model.Bar)
@Html.LabelFor(m => m.Bar)
しかし、ビューは現在、エラーを生成している:
public class FooViewModel
{
public string Bar
{
get { return Foo.Bar; }
}
}
とは、ビューを変更
として認識されませんでした文字列は有効なブール
ビューモデル内のプロパティ名を「バー」以外に変更すると、 wが正しく表示されます。 EG:
public class FooViewModel
{
public string WTF
{
get { return Foo.Bar; }
}
}
@Html.CheckBox(Model.WTF)
@Html.LabelFor(m => m.WTF)
私のviewmodelプロパティは「バー」と命名されている場合、このエラーが発生している理由は誰もが私に説明できますか?
編集: 少し質問が更新されましたが、私は混乱を起こしています。ビューは検索フォームとして使用され、チェックボックスは単に「検索基準」の選択に使用されます。
チェックボックスの名前/ IDがコントローラ内の対応するビジネスロジックに関連するように、この方法でチェックボックスを生成しています。
同じクラス内のプロパティ名/フィールド名が同一である場合、コードはコンパイルされないことに気付いています。これは問題ではありません。異なる名前空間内の定数からプロパティを初期化するだけです。別のチェックボックスのコンストラクタを使用して
@ChrisFいや、そのパラメータは以下のようになり、文字列ます。http:// msdn.microsoft.com/en-us/library/dd460245.aspx –
@Shark - ああありがとう - 私はこのことをしてからしばらくしています。コメントは削除されました。 – ChrisF
プロパティを「静的」なものとして参照していますか?どのようにコンパイルされましたか? –