[解決済み] Razor ビューエンジン - パーシャルビューを追加する方法
質問
新しい razor ビューエンジンを使ってパーシャルをレンダリングする最良の方法は何か、もし可能であるなら、それは何なのか、と考えていました。私は、これが、(i) の時点で完全に完成していなかったものであることを理解しています。
今、私はユーザー コントロールをレンダリングするために RenderPage を使用しています。
@RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model)
RenderPageを呼び出したページでは、3つのセクションが定義されたレイアウト(マスター)ページを使用しています。TitleContent、HeadContent、および Maincontent の 3 つのセクションが定義されているレイアウト (マスター) ページを使用しています。このページからロケール コントロールをレンダリングしようとすると、これらのセクションも必要であるように見えますが、呼び出し側のページでのみ必要であるべきで、存在します。これらのセクションを部分ビューに含めるかどうかに関係なく、次のメッセージが表示されます (明らかに、これらのセクションを含める必要はありませんが、興味深いデバッグ ポイントのように思われました)。
次のセクションが定義されています。 定義されていますが、レンダリングは レイアウトページにレンダリングされていません。 '~/Views/Shared/LocaleUserControl.cshtml': TitleContent; HeadContent; MainContent
私の部分表示は以下の通りです(以下より引用 リンク ):
@inherits System.Web.Mvc.WebViewPage<LocaleBaseModel>
@using System.Web.UI;
<p>
@Html.LabelFor(model => Model.CountryName)
<br />
@Html.DropDownListFor(model => Model.CountryName,null, string.Empty, new { @class = "text", accesskey="u"})
</p>
<p>
@Html.LabelFor(model => Model.StateProvince)
<br />
@Html.DropDownListFor(model => Model.StateProvince, null, string.Empty, new { @class = "text", accesskey="t" })
</p>
<script type="text/javascript">
$(function () {
var countries = $("#CountryName");
var statesprovinces = $("#StateProvince");
countries.change(function () {
statesprovinces.find('option').remove();
var url = '@Url.Action("GetStatesProvinces", "Base")';
$.getJSON(url, { countryId: countries.val() }, function (data) {
$(data).each(function () {
$("<option value=" + this.ID + ">" + this.Name + "</option>").appendTo(statesprovinces);
});
});
});
});
</script>
どのように解決するのですか?
あなたのパーシャルはエディタテンプレートのように見えるので、そのように含めることができます (もちろん、あなたのパーシャルは
~/views/controllername/EditorTemplates
サブフォルダに置かれていると仮定します)。
@Html.EditorFor(model => model.SomePropertyOfTypeLocaleBaseModel)
また、そうでない場合は単純に
@Html.Partial("nameOfPartial", Model)
関連
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み] 2つのリストを結合する
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Razor View Page で名前空間をインポートするにはどうしたらいいですか?
-
[解決済み] razor viewエンジンでの@文字のエスケープ
-
[解決済み] Razor でローカル変数を宣言するには?
-
[解決済み] ASP.NET MVC ビューエンジンの比較
-
[解決済み】部分ビューから特定のセクションにコンテンツを注入する ASP.NET MVC 3 with Razor View Engine
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】URLから画像をダウンロードする方法