它的目的是什么以及它是如何运作的.我理解捆绑包的作用,但我还没弄清楚它的作用和它可能很重要.
@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)
也许是一个如何使用它的小例子?
在过去,我通过让所有控制器继承公共基本控制器,以全局方式将常见属性(例如当前用户)粘贴到ViewData/ViewBag上.
这使得我可以在基本控制器上使用IoC,而不仅仅是为这些数据扩展到全局共享.
我想知道是否有另一种方法将这种代码插入MVC管道?
我看到的是字符串布局属性.但是如何将模型明确地传递给布局?
共享布局视图可以有控制器吗?
我需要从Controller传递模型信息吗?
或者我在这里遗漏了什么?
我有一个layout页面,其中包含需要填充的变量.例:
@ModelType KarateAqua.schoolModel
<html>
<body>
@RenderBody()
<div id="footer">
<div class="content">
<div class="bottom_logo">
<a href="/"><span class="inv">@Model.schoolName</span></a>
</div>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我不想在每个人中填充这个ActionResult.有没有办法将数据传递到layout页面一次,并为所有实例执行此操作?
我一直在读到MVC 将数据从控制器传递到视图的方式是通过 ViewModel 完成的,但是将数据传递给_Layout.cshtml,例如页面标题、元描述、文章作者等呢...
传递这种数据的MVC方式是什么?我应该为他们使用 ViewBag 吗?
我有一个包含多个视图组件的布局,它们都使用相同的视图模型和控制器
那么我该如何在它们之间共享相同的视图模型实例呢?
这是我的布局:
<!DOCTYPE html>
<html lang="es">
<head prefix="og: http://ogp.me/ns#">
@await Component.InvokeAsync("Metadata", Share-Model)
</head>
<body>
@await Component.InvokeAsync("Header", Share-Model)
<article id="main-content-article">
@await Component.InvokeAsync("Cover", Share-Model)
</article>
<section id="rest-fold-content">
@RenderBody()
<footer id="main-footer">
@await Component.InvokeAsync("Footer")
</footer>
</section>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我试图DropDownListFor<>在我的LayoutTemple中使用a ,所以我无法访问模型.所以我所做的是在@{}我添加的页面顶部的块中,FFInfo.DAL.SoloClassesContext db = new FFInfo.DAL.SoloClassesContext();它调用了我想要使用的类的DBContext实例.然后我把List放在我想要的地方
@Html.DropDownListFor(
m => m.ID,
new SelectList(db.CultureCodes, "ID", "DisplayName"));
Run Code Online (Sandbox Code Playgroud)
但是当我运行代码时,我得到了一行错误m => m.ID.给出的错误是:
表达式树可能不包含动态操作
我从来没有使用过这种类型的下拉菜单,对MVC来说也是新手.任何人都可以告诉我我做错了什么以及如何解决它?