11

NuGetパッケージとして他のプロジェクトにドロップできるCSSフレームワークに取り組んでいます。

物事をきれいに保つために、フレームワーク全体(ビュー、スタイル、画像、マスターページ/レイアウトページ)は実際には〜/CssThing/の下に保存されます

WebFormsビューエンジンと完全に連携しますが、_layout.cshtmlファイルを〜/ CssThing /に移動してから、Razorページを次のように変更すると次のようになります。

@{
Layout = "~/CssThing/_layout.cshtml";
}

ViewBagが定義されていない、またはThe name 'Url' does not exist in the current contextビューが適切な基本クラスから継承されていないことを示唆するその他のさまざまな奇妙な点について不平を言い始めます。

どうすればこれを機能させることができますか?

注:すべてがこのように分割される理由は、NuGetに既存のコードを強制的に上書きさせる方法がなく、すべてのjQueryなどの参照を取得せずに空のMVC3 Webアプリケーションを起動する方法がないため、フレームワークを危険にさらすのではなく半分のファイルがすでに存在していたために半分がデプロイされ、すべてを完全に分離しています。

4

2 に答える 2

9

新しいviewsディレクトリにweb.configがあることを確認してください。ビューのデフォルトプロジェクトによって作成されたものをコピーするのが最善です。このweb.configは、デフォルトのページ基本クラスや暗黙的に使用可能な名前空間などのRazorの設定を定義します。これらの名前空間は、使用できるHTMLヘルパーを定義します。

于 2011-05-16T21:28:37.200 に答える
4

手動で指定するか、デフォルトのWeb.configセクション(基本タイプを設定する)をビューのあるフォルダーに@inherits WebViewPage追加する必要があります。

于 2011-05-16T21:39:00.580 に答える