这个问题的背景是我想使用asp.net mvc5在html表格中创建类似电子表格的MS Excel。 Excel功能不是此功能的一部分,只是外观和功能。感觉。我想要包含在网页中的Excel的相关功能是用户在表格行的文本框中输入值。要编辑行,他们会单击它并将表格单元格转换为带有输入/文本框的单元格。他们输入数据并按回车键(没有链接,没有按钮),数据将保存到数据库中。将删除输入框,并将数据放入单元格中。
我已经开始使用这个项目并让它正常工作,但我发现自己使用了50%的javascript / jquery / html。我担心的是,当我可以使用asp.net mvc简化设计时,我使用了太多的ajax / javascript / jquery。
我使用ajax发送数据并从控制器获取数据。回调使用jquery来创建,更新,删除表中的行,以及从编辑模式()更改为读取模式()
因为我使用jquery对控制器进行ajax调用,所以表中处理CRUD的所有客户端代码都是通过jquery完成的。 mvc的设计方式是我们可以在cshtml模板中使用BeginForm,并在按下Enter键时使用FormCollection参数将数据从表中的输入发送到控制器而不使用jquery吗?
答案 0 :(得分:1)
您可以在输入后向表单添加提交按钮,然后使用css将位置设置为绝对,将左侧或顶部属性设置为较大的负值,从而有效地使提交按钮不可见同时保留其在表单中捕获ENTER键的默认行为。
另一方面,除非您看到正在解决的实际性能或可维护性问题,否则我不会过分担心使用Javascript。在我看来,Javascript是最直接的方式,并且似乎没有显着的性能损失。