在MVC中无需POST或GET获取表单数据

时间:2013-06-03 23:40:44

标签: html asp.net-mvc c#-4.0 asp.net-mvc-4

我正在使用MVC 4项目。我将表格数据从我的视图传递到我的控制器中的操作时出现问题。我继承的视图已经有一个表单标签,所以我不能在其中嵌套其他表单标签。我对ajax / javascript不感兴趣,因为它需要很长时间才能达到速度。

我有一个部分视图,显示用户编辑的详细信息。我有一个模型,其中包含我显示的用户的值。例如:

 <input id="txtFirstName" type="text" name="FirstName" value="<%: Model.FirstName %>"/>

由于现有的表单标记,我无法使用POST或GET。所以,如果可能的话,我想用我的文本框值覆盖我的Model实例,无论它们是否已经改变,并将Model传递给我的动作:

<%= Model.FirstName = <FirstName value from textbox> %>
 ....
<%: Html.ActionLink("Save", "UserSave", "User", new {Model})%>

但我不知道如何获取每个文本框等的值.Page.Form.Field?请求。 ?

我知道这是一种丑陋的方式,而不是MVC的工作方式。但这是时间短暂的时间之一,我需要一个黑客来完成它。因此,请不要回答我的问题,例如为什么不使用Ajax或Razor等。

谢谢

1 个答案:

答案 0 :(得分:0)

要从客户端浏览器获取数据到服务器,您需要发出某种请求。无论是通过POST还是GET,AJAX,还是需要发出请求 - 没有快速破解这个问题。

没有更多细节,很难给你任何答案,但是,我可以想到两种可能性。

  1. 在您的视图中创建一个新表单 - 您无法嵌套它们,但您可以 有多种形式。
  2. 如果要在视图中更新的字段是 同样在现有形式中,你可以从你的副本中复制一些javascript 提交前现有字段的文本框。