我想创建可重用的mvc4 UI组件/控件,可以在整个应用程序中重用。在互联网上有很多关于此的信息(主要是mvc3),但它似乎不完整或太具体。
一般应用程序arhitecture将从正常或ajax请求返回呈现的html(我想澄清该问题不是指SinglePageApp模型,因此组件在服务器上并且可能具有客户端模型和通信没有使用json webapi)
问题是“如何最好地创建一个组件,使其行为如下所述?”
可重用组件应具有以下特征:
示例:
@(Html.Telerik().Upload()
.Name("attachments")
.ClientEvents(events => events
.OnLoad(
@<text>
function(e) {
// Perform required actions here.
}
</text>)
)
)
示例(这只是为了澄清问题,这不是我需要解决的具体案例):
假设我们有一个管理某些部门角色的应用程序。我们有一个Person实体,它有Name,Age,DepartmentId(假设它只能属于一个部门)。 我们为Edit / Insert创建一个PersonComponent表单,其中包含Name,Age和部门ddl的标签/文本框。它还有一个Save btn。 单击save btn时,根据组件的初始化方式,它从字段中获取所有数据,然后进行ajax调用,将json数据发送到url(url作为param接收),并将Save事件发送给任何人。注册。 save事件处理程序有一个包含json数据的参数。如果没有将url作为参数发送到组件,它只会通知所有侦听器。
每个部门都有不同的视图,可以重用组件。一个页面可以同时显示多个部门。
需要考虑的事项:
注意: