我无法确定在控制器操作中构造HTML是否可以,并且从我的视图(使用jquery)将此HTML提供回AJAX调用。
例如,当通过jQuery Autocomplete选择客户端时,除了获取所选的客户端ID之外,我们还需要为其构建显示或编辑表单。 我们可能会:
div
具有正确的ID并从控制器操作中接收Client
JSON对象,然后用我们对象中的内容更新这些div(非常容易出错,很多IF在我们的JS代码等),Client
JSON对象而不是请求准备好的HTML并将其插入到视图中(更有吸引力的解决方案,逻辑被移动到控制器中并且易于维护 - 我宁愿维护C#代码而不是JS )。你认为这些是有效的选择吗?大多数现代应用程序做什么?
input
控件,因为我希望将客户端属性发回,因为当它们被发布回控制器时,我可以用它们实现一个viewmodel。答案 0 :(得分:2)
控制器几乎从不意味着这样做。
解决方案是:
我个人会选择3然后选择2。
答案 1 :(得分:0)
你能不能只使用Ajax表单吗?
即
1:通过jquery提交表单。
2:根据您作为参数传入的内容查找并返回部分视图。
3:更新相关的div。
答案 2 :(得分:0)
您的控制器应将数据传递到您的视图,不是HTML 。
我个人会使用PartialViews,jQuery Load() functionality根据提供的数据加载这些部分视图。