我最近开始学习ASP.NET模型视图控制器(MVC).它在网站采用的方法上非常独特,我注意到了动态的潜力.这将大大改善维护.
但我可以看到过度使用动力学是多么糟糕,特别是如果你偏离强类型模型.所以我的问题是……
我正在创建一个布局,但我希望布局流畅.我希望设计变得非常容易,而不会影响我的逻辑.我知道你可以创建母版页和主内容页面,它可以容纳大部分布局.除此之外我的使用仍然有限制.
有没有办法将这些母版页和主内容页更改为真正的动态实体?从本质上讲,设计师可以使用你所看到的是我创建的字段,它允许整个网站被修改?
我最初的想法是存储以创建动态布局,其中每个View引用一个数据库;无论这些变量是什么都会创建布局.但我不确定这是最好的方法吗?
对最佳方法的任何建议或想法?
我不打算开始辩论,但是如果人们可以指出我可以研究这种实施方法的方向将会非常有帮助.这样我就可以找到适合这个项目动态布局所需的最佳解决方案.
更新:
为了介绍这个项目,我公司有几个子公司.这些子公司将使用该应用程序,但希望为特定公司量身定制.为了避免过多的设计布局,我想抽象出那部分.
这样我的逻辑就不会受到影响,但是软件的模块足以满足我们所有子公司的设计需求,而不必自定义每一个设备或影响逻辑设计师的风险.
谢谢您的帮助.
更新:
为了帮助澄清,目标是允许用户界面与应用程序分离.在普通的Windows应用程序中,我将利用Inversion Of Control来帮助将接口和结构与初始逻辑隔离开来.
这种解耦方法很有帮助,目标是在这种情况下解耦接口Razor Syntax,它将设计创建结构.如果你有一个网站:
<html>
<div id="Page-Container">
<div id="Header" />
<div id="Content" />
<div id="Footer" />
</div>
</html>
那个结构是静态的,但就我而言,我希望它是动态的.这样我的逻辑可以通过结构抽象出来,但设计师可以操纵和改变他想要的页面布局.
最佳答案 不确定我是否完全理解你的要求…..但也许以下前提会引起关注?
@model CompanyName.LayoutModel
<html>
<body>
@foreach(string view in Model.Views)
{
@Html.Partial(view);
}
</body>
</html>
这将取决于您使用的UI框架的工作方式.想法是你向Razor呈现一个对象,该对象只包含Razor然后部分呈现的视图集合.为了.
您可能希望检查像http://www.google.com/ig这样的网站,而不是使用ASP.NET MVC来检查用户的自定义布局(如果您在主页中编辑设置,则可以完全自定义布局以及您在主页上获得的新闻)然后使用来自其他ajax调用的数据填充这些布局.
对我来说这听起来更灵活,每个AJAX调用都可以是ASP.NET MVC方法(返回剃刀页面的输出),javascript可以直接将HTML插入DOM.在调用可能需要更长时间执行或依赖第三方通信的方法时,这也为您提供了更大的灵活性,因为它允许您呈现“加载”动画并更轻松地报告错误.