Ala*_*an2 5 asp.net-mvc viewmodel razor asp.net-mvc-3 html.textboxfor
我最近开始使用viewModel.这是我正在使用的viewModel:
public class ContentViewModel
{
public Content Content { get; set; }
public bool UseRowKey {
get {
return Content.PartitionKey.Substring(2, 2) == "05" ||
Content.PartitionKey.Substring(2, 2) == "06";
}
}
public string TempRowKey { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我改变了我的剃刀观点:
@model WebUx.Content
<div class="colx2-left">
<label for="complex-fr-url" class="required">Order</label>
@Html.TextBoxFor(model => model.Order)
</div>
Run Code Online (Sandbox Code Playgroud)
至:
@model WebUx.Areas.Admin.ViewModels.Contents.ContentViewModel
<div class="colx2-left">
<label for="complex-fr-url" class="required">Order</label>
@Html.TextBoxFor(model => model.Content.Order)
</div>
Run Code Online (Sandbox Code Playgroud)
现在我的观点失败了,显示以下消息:
编译器错误消息:CS0411:方法System.Web.Mvc.Html.InputExtensions.TextBoxFor TModel,TProperty>的类型参数(System.Web.Mvc.HtmlHelper <TModel>,System.Linq.Expressions.Expression <System.Func < TModel,TProperty >>)无法从使用中推断出来.尝试显式指定类型参数.
有人可以给我一些关于我该做什么的建议吗?
根据经验,我确保我的视图/模板仅引用它正在处理的模型中的属性,而不是下面的属性。
您在更改之前的第一次尝试是正确的。
因此,我会将您的视图更改为以下内容:
@model WebUx.Areas.Admin.ViewModels.Contents.ContentViewModel
@Html.EditorFor(model => model.Content)
Run Code Online (Sandbox Code Playgroud)
并利用您现有的模板:
@model WebUx.Content
<div class="colx2-left">
<label for="complex-fr-url" class="required">Order</label>
@Html.TextBoxFor(model => model.Order)
</div>
Run Code Online (Sandbox Code Playgroud)
我也不知道是什么Order。如果它不是字符串,那么这也会成为一个问题。
| 归档时间: |
|
| 查看次数: |
6267 次 |
| 最近记录: |