0

我渲染我的 ViewModel

创建.cshtml:

@using (Html.BeginForm("Create","TestTemplate")) {      

    @Html.EditorForModel()
}

我不喜欢输出内容,因为所有 div 都在另一个之下。如果我想要一个水平布局,其中一个 div 向左浮动到另一个 div 怎么办?

当我的 Create.cshtml 视图中没有 html 时,如何使用 EditorForModel() 帮助程序修改此类布局更改?

更新:

为什么我必须创建两个视图。在我在另一个 EditorTemplate-view 中调用 @Html.EditorForModel() 的那个中,我做了所有的布局工作,我也可以通过 EditorFor( x => x....) 在第一个视图中做这些工作?这对我来说似乎很奇怪。

4

2 回答 2

0

您想创建一个EditorTemplate。基本上创建一个名为EditorTemplatesin的新文件夹~/Views/Shared,然后在该文件夹中创建一个具有模型名称的新视图,例如Template.cshtml或其他名称。

当你调用@Html.EditorForModel()它时,它将使用这个视图作为模板。

于 2012-11-14T12:01:00.270 回答
0

这个问题已经很老了,但在我看来,还有另一种方法应该提到。尽管 MVC 不是 MVVM,但请尝试在该模式中多思考一些。由于生成的 HTML 只不过是页面的内容,因此它将在浏览器中用作视图模型。格式化页面不是 HTML 的工作。尝试使用 CSS 来修改页面的布局,这将用于在浏览器中呈现视图。

只需使用如下 CSS 选择器来更改表​​单的布局、输入元素或仅更改特定的输入元素:

form { your CSS here }
form input { your CSS here }
form input[name="NameOfInput"] { your CSS here }

在这些日子里,CSS 的力量几乎是无限的:让您的项目向左、向右或交替流动等等;-) 您也不需要创建两个视图。

于 2013-12-13T12:16:34.313 回答