这是一个设计/技术问题。
使用 ASP.NET MVC,我可以轻松地创建一个具有两个视图的简单应用程序,一个主视图以只读的表格形式显示所有记录。另一个详细信息视图以创建新记录。
我的目标是将详细信息表单与表格放在同一页面上。用户输入数据按保存并在表中添加新记录,而无需切换视图和重新加载内容。它基本上应该像在 stackowerflow 中发布新答案或评论一样工作。
我通过编写自己的 jQuery 代码并使用 JSON 与控制器操作进行通信找到了这样做的方法。这是在 ASP.NET MVC 中创建这些动态表单的方式吗?
使用这种方法,我面临以下设计/可扩展性问题:
- 使用 jQuery 渲染新行在我看来有点混乱。
- 如果您添加一个新字段,我有两个地方需要调整 - 一次在主视图中,第二次在 jQuery 脚本中。
目前我正在将新记录添加到表中,如下所示:
function addQueryField() {
// Determine the index of the next row to insert
var index = $("tr[id^=queryRow]").size();
// Create DOM element for table row
var oTr = $(document.createElement("tr")).attr("id", "queryRow" + index);
// Create DOM element for value textbox
var oValueTextBox = $(document.createElement("input")).attr("name", "query[" + index + "].Value").attr("id", "Value"+index).attr("type", "text");
});
我基本上使用的是这里描述的技术。
可能有一些开箱即用的解决方案吗?