mvc3是否有办法改变剃刀的命名系统

时间:2014-02-19 03:56:04

标签: asp.net-mvc-3 razor

我有一个部分视图,允许Html和name的呈现<textarea>属性抛弃所有内容,例如这是我的文本区域

     @Html.TextAreaFor(model => model.cars.mycars)

导致该属性呈现为name="cars.mycars",无论如何都要将其更改为 cars_mycars 而不使用 @Name

我想要 cars_mycars 的原因是因为它是模型中包含AllowHtml的字段

   [AllowHtml]
     public string mycars { get; set; }

为了让AllowHtml工作,我需要一个强类型模型,例如 @ Html.TextAreaFor(model =&gt; model.mycars),但我在1个视图中使用多个模型因此我有

@Html.TextAreaFor(model => model.cars.mycars, @new{id="cars_mycars",@Name="cars_mycars"})

这都是部分视图,当我尝试提交时,根本没有任何事情发生。这是表格中唯一的字段,所以问题很多就在那里,另外如果我把

ValidateInput(False)

关于action方法然后一切正常,这导致我回到@name约定无法正常工作。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样

@Html.TextArea("cars_mycars")