[解決済み] mvc 4 で部分ビューにパラメータを渡すにはどうすればよいですか?
2022-04-22 05:01:09
質問
このようなリンクがあります。
<a href='Member/MemberHome/Profile/Id'><span>Profile</span></a>
これをクリックすると、この部分ページが呼び出されます。
@{
switch ((string)ViewBag.Details)
{
case "Profile":
{
@Html.Partial("_Profile"); break;
}
}
}
部分ページ _Profile が含まれています。
Html.Action("Action", "Controller", model.Paramter)
例
@Html.Action("MemberProfile", "Member", new { id=1 }) // id is always changing
私の疑問は、どのようにすれば このquot;Id"をmodel.parameter部分に渡します。 ?
私のコントローラは
public ActionResult MemberHome(string id)
{
ViewBag.Details = id;
return View();
}
public ActionResult MemberProfile(int id = 0)
{
MemberData md = new Member().GetMemberProfile(id);
return PartialView("_ProfilePage",md);
}
解決方法は?
ご質問の内容がわかりにくいのですが、要点をまとめると、メインビューに何らかの値があり、そのビューにレンダリングされるパーシャルにアクセスしたいだけなのでしょう。
パーシャル名だけでパーシャルをレンダリングすると
@Html.Partial("_SomePartial")
呼び出すのと同じように、暗黙のパラメータとしてモデルを渡します。
@Html.Partial("_SomePartial", Model)
さて、これを実際に使えるようにするためには、パーシャルにも定義されたモデルなどが必要ですが。
@model Namespace.To.Your.Model
@Html.Action("MemberProfile", "Member", new { id = Model.Id })
あるいは、ビューのモデルにない値 (ViewBagの中にあるか、ビュー自体で生成された値) を処理する場合は、ビューに
ViewDataDictionary
@Html.Partial("_SomePartial", new ViewDataDictionary { { "id", someInteger } });
そして
@Html.Action("MemberProfile", "Member", new { id = ViewData["id"] })
モデルの場合と同様に、Razor は暗黙のうちにパーシャルをビューの
ViewData
をデフォルトで使用するため、もし
ViewBag.Id
をビューで使用する場合、同じものをパーシャルで参照することができます。
関連
-
[解決済み] 修正方法: ハンドラ "PageHandlerFactory-Integrated" のモジュールリストに "ManagedPipelineHandler" という不正なモジュールが含まれています。
-
[解決済み] ASP.NET MVCのビューを文字列としてレンダリングする方法は?
-
[解決済み] AngularJSの部分的なビューに基づいて動的にヘッダーを変更するには?
-
[解決済み] ASP.NET MVC ビューエンジンの比較
-
[解決済み】部分ビューから特定のセクションにコンテンツを注入する ASP.NET MVC 3 with Razor View Engine
-
[解決済み】ASP.NET RazorのHTML.ActionLinkとUrl.Actionの比較
-
[解決済み】ASP.NET MVCのルートをサブドメインに基づいて作成することは可能ですか?
-
[解決済み] ASP.NET MVC: UrlHelperを使用するコントローラのユニットテスト
-
[解決済み] エリア間のRedirectToAction?
-
[解決済み] ASP.NET MVC Html.ActionLinkにアンカータグを含める
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】同じキーのアイテムがすでに追加されています。
-
[解決済み] ルート値を含むURL.Action()
-
[解決済み] MVCにおけるViewModelとは?
-
[解決済み】ASP.NET MVC 3 razor ViewStart ファイルで異なるレイアウトを指定するには?
-
[解決済み】リポジトリとサービスレイヤーの違い?
-
[解決済み】HTTPエラー500.19とエラーコード: 0x80070021
-
[解決済み] セキュリティ透過的なメソッド 'WebMatrix.WebData.PreApplicationStartCode.Start()' による試行。
-
[解決済み] 型名または名前空間名 'DbContext' が見つかりませんでした [閉鎖]。
-
[解決済み] ソートロジックは、モデル、ビュー、コントローラのいずれに配置するのがよいのでしょうか?[クローズド]
-
[解決済み] ASP.NET MVC Html.ActionLinkにアンカータグを含める