私の_Layoutでは、ビューとそのコントローラを呼び出そうとしています。表示はMenu.cshtmlです。_Layoutからビューとそのコントローラを呼び出す
[表示]メニューでパラメータが認識されないという問題があります。
_layout(フォルダ内の/共有/):
<div id="menu" >
@Html.Partial("~/Views/Menu/Menu.cshtml")
</div>
Menu.cshtml(フォルダ/ビュー/):
@model MenuModel
<ul id="menu">
@{
foreach (var iteparent in Model.ParentMenuModel) // Error: Model.ParentMenuController is not recognized
{
// do some stuff
}
}
</ul>
MenuController(フォルダ内/コントローラ/ )
public class MenuController : Controller
{
public ActionResult Index()
{
MenuModel objmenumodel = new MenuModel();
objmenumodel.ParentMenuModel = new List<BE_MENU>();
objmenumodel.ParentMenuModel = ParentMenuList();
return PartialView(objmenumodel);
}
public List<BE_MENU> ParentMenuList()
{
List<BE_MENU> objparentmenu = new List<BE_MENU>();
objparentmenu.Add(new BE_MENU { ID_MENU = 1, TXT_MENU = "Home", PARENT_ID = 0, URL = "#" });
return objparentmenu;
}
}
ビューメニューが読み込まれると、パラメータModel.ParentMenuModelが認識されないため、エラーが発生します。
ビューとそのコントローラを_Layoutから呼び出す正しい方法はありますか?
ビューは共有フォルダにあるが、独立したビューとそのコントローラを呼び出すときにエラーなしで実行できます。
EDIT:
私はHtml.Action( "インデックス"、 "メニュー")@を使用しようとしましたが、エラーが発生します。
を私はあなたが提案し何をしようとしたが、それはエラーを取得します。共有フォルダにないビューを_Layoutから呼び出すことはできますか? – Delmonte
どのようなエラーが表示されますか?はい。共有フォルダ以外のフォルダからビューを呼び出すことができます。完全なパスを指定するだけです。 – Shyju