ASP.NET MVC:在指定html属性时使用相同的表单进行添加和编辑?

时间:2010-12-02 16:23:38

标签: asp.net asp.net-mvc

我希望使用相同的表单,使用局部视图在数据库中添加和编辑记录。我知道这很好,因为标准的Html.BeginForm会根据正在使用的操作(添加/编辑)自动输出正确的html。 但是,我需要用一些额外的HTML属性来表示所述表单。似乎没有超载允许在没有指定ACTION和CONTROLLER名称的情况下发生这种情况。 如果我对这些进行硬编码,那么我肯定无法使用相同的表格进行编辑并自动添加?

或者我错过了什么?

干杯

1 个答案:

答案 0 :(得分:2)

将操作和控制器的值设置为null,它们将从上下文中拉出。如果你查看source的不需要参数的重载,你会看到它只是调用需要更多参数的版本,这些值为null。直接使用空值调用该重载将具有相同的效果。根据您正在使用的重载,您可能需要将空值转换为字符串 - 只有当编译器无法区分方法而不将空值转换为字符串时,我才会这样做。

<% using (Html.BeginForm( null, null, FormMethod.Post, new { @class = "foo" } ))
   { %>
<% } % >