1

*解決しました。以下の更新を参照してください

以下にリストされている2つのプロパティを持つクラスがあります。

[HiddenInput(DisplayValue = false)]
public int ProductId { get; set; }

[Required(ErrorMessage = "Please enter a product name")]
public string Name { get; set; }

あるマシンでソリューションを実行すると、関連するページに移動してもEditorFor ProductIdが表示されません-別のマシンでソリューションを実行すると(githubから同じプル)、表示されます(編集できます) 。見られたくない。

マシンごとに異なる可能性があると私が思う唯一の重要なことは、実際のデータベース自体です。

同じコードを使用しているときに、ProductIdプロパティエディターを一方のマシンで表示できるのに、もう一方のマシンでは表示できないのはなぜですか?

ノート

MVCは、マシンごとにビューのレンダリングが異なります(生成されるHTMLは異なります。これは、上記の不一致を反映しています)。

アップデート

問題を解決しました。以下の私の答えを参照してください。

4

2 に答える 2

1

理解した。。。すこし。

奇妙なことに、しばらく先に進もうとした後、アプリの他の場所で別の問題が発生しました。その問題と元の質問に対するMisterJamesのコメントが、私をこの答えに導きました。

簡単にするために、問題が発生したマシンからMVC4をアンインストールしただけで(他のマシンにMVC4がインストールされていませんでした)、両方の問題が解決しました。

于 2012-07-11T13:42:04.820 に答える
1

[HiddenInput(DisplayValue = false)]モデルのクラスのproductIdプロパティにアノテーションを追加した場合にも同様の問題が発生しました。モデルは私のMVCプロジェクトとは別のプロジェクトでした。注釈を取得するには、参照を含める必要がありましたSystem.Web.Mvcが、MVCプロジェクトがv。3.0.0.0である間に、v。4.0.0.0を含めました。

これにより、すべてのプロジェクトがコンパイルされ、他のすべての機能がそのまま残っていても、注釈が機能しなくなりました。

モデルプロジェクトの.csprojファイルを編集し、含まれている参照のバージョンを4.0.0.0から3.0.0.0に切り替えることで、これを修正しました。これは、間違ったバージョンへの参照を削除し、正しいバージョンを再度追加することによっても達成できます。

于 2013-04-08T15:48:45.857 に答える