自从迁移到 MVC 以来,我一直想知道(现在需要)一个可重用的“组件”,我可以将其粘贴在任何视图上,该视图执行每个视图通用的操作并在该组件中包含 jQuery。我说的是视图组件,它们很整洁,但我还没有遇到对它们的可行需求(除了显示地址或电话号码)。没有什么真正的互动。
所以,如果我不能用 View Component 做到这一点,我该怎么办?我有一个使用 JavaScript 的视图组件,但这只是因为我无法引用我在布局中定义的部分。我读过几十篇文章,说这是设计使然。好吧,在我看来,这是一个糟糕的设计,并将这些组件锁定为非交互式(或受限)。
我一直想知道(现在需要)一个可重用的“组件”,我可以坚持任何视图
我认为您正在寻找的是模板。它是可重用的,因为模型可以具有显示和编辑器模板。它非常简单:
可重复使用的:
public class Car
{
public string Model { get; set; }
}
控制器型号:
public class IndexVM
{
public Car Car { get; set; }
}
索引.cshtml
@model IndexVm
@Html.DisplayFor(m => m.Car)
共享/显示模板/car.cshtml
@model Car
@Html.DisplayFor(m => m.Model)
至于脚本,只渲染需要的 JS 的想法很久以前就没有了。这就是 Bootstrap 有 bootstrap.min.js、bootstrap.min.css 的原因。没有充分的理由不将所有内容捆绑在一起,以便客户端可以一次性缓存所有内容。
我觉得 MVC 中的视图组件有点 hacky。它们有点像在 MVC 和 WebPages中工作的所有东西,但并没有真正经过深思熟虑。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句