使用聚合物构建ASP.NET MVC
我已经使用ASP.NET MVC和Polymer构建了3个应用程序,但我总是遇到同样的架构问题 目前,如果我想将MVC视图与Polymer webcomponents分开,我最终得到的结构如下:使用聚合物构建ASP.NET MVC,asp.net,asp.net-mvc,asp.net-core,polymer-1.0,Asp.net,Asp.net Mvc,Asp.net Core,Polymer 1.0,我已经使用ASP.NET MVC和Polymer构建了3个应用程序,但我总是遇到同样的架构问题 目前,如果我想将MVC视图与Polymer webcomponents分开,我最终得到的结构如下: - wwwroot - bower_components (polymer) - elements (my components) - View (my views) - Controllers (my controllers) 然后,如果我必须解析特定视图,例如: 我将以如下方式结束:
- wwwroot
- bower_components (polymer)
- elements (my components)
- View (my views)
- Controllers (my controllers)
然后,如果我必须解析特定视图,例如:
我将以如下方式结束:
- Controller > Home
- Action > Index
- View > Index.cshtml
- Element > paper-page-index.html
从我的Index.cshtml
<!-- import the element -->
<link rel="import" href=".../paper-page-index.html" />
<!-- render the element and pass properties -->
<paper-page-index first-name="@Model.FirstName"></paper-page-index>
问题是,我必须将ViewModel的每个属性传递到自定义元素中,这会变得非常冗长,有时甚至令人厌烦。
正确的方法应该是什么?每个.cshtml视图都应该被视为一个web组件,停止创建web组件本身并将其包含到my.cshtml页面中?或者我应该像Martin Fowler说的那样有两种GET方法:
- 检索我的视图(Controller/Action/.cshtml页面)的一次获取
- 可以从MVC中检索ViewModel
有什么线索吗?最后,我决定以这种方式构建项目: 后端
- asp.net内核
- 暴露REST方法的控制器
- 使用asp.net标识进行安全保护
- “前端API”的asp.net核心
- 聚合物的标准“静态页面”
- 聚合物视图的标准“元素”结构
- 我仍然可以使用ASP.NET标识和OAuth保护整个前端静态内容
- 我可以利用聚合物构建,因为聚合物和剃须刀之间没有严格的关系
- 我可以将UI、表示逻辑和业务逻辑完全分为3个不同的区域