mvc html.hidden,关于asp.net mvc:Html.HiddenFor导致错误

当我尝试将@Html.HiddenFor(@Model.ID)添加到代码中时,访问该页面时出现以下错误:

Compiler Error Message: CS0411: The type arguments for method 'System.Web.Mvc.Html.InputExtensions.HiddenFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

我尝试阅读MSDN,但是文档太糟糕了(它们在文档中没有提供此方法的单个代码示例。

这是我的观点:

@model CustomerService.Entity.Order

@using CustomerService.Entity

@{

ViewBag.Title ="OrderDetails";

}

OrderDetails

@using (Html.BeginForm("HandleSubmit","Home", FormMethod.Post))

{

Order #

@Model.ID

Description

@Model.Description

Salesperson Name

@Model.SalespersonName

Line Items

@Html.HiddenFor(@Model.ID)

Line Item ID

Description

@for (int i = 0; i < @Model.LineItems.Count; ++i)

{

@Model.LineItems[i].ID

@Model.LineItems[i].Description

}

}

HiddenFor接受一个表达式。

@Html.HiddenFor( model => model.ID )

HiddenFor方法应将Expression作为参数而不是值:

@Html.HiddenFor(m => m.ID)

代替:@Html.HiddenFor(@Model.ID)

方法签名:

HiddenFor(HtmlHelper,

Expression>)

用纯文本格式,您应该给出一个Expression,该Expression获得模型类型的"实例"(在这种情况下为CustomerService.Entity.Order)并返回所需的属性(在这种情况下为ID)

MSDN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值