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


编译器错误消息:CS0411:方法'System.Web.Mvc.Html.InputExtensions.HiddenFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression>)'的类型参数不能从用法中得出。尝试显式指定类型参数。


我尝试阅读MSDN,但是the documentation is awful(它们在文档中没有提供此方法的单个代码示例。

这是我的观点:

@model CustomerService.Entity.Order
@using CustomerService.Entity
@{
    ViewBag.Title = "OrderDetails";
}
<h2>
    OrderDetails</h2>
@using (Html.BeginForm("HandleSubmit", "Home", FormMethod.Post))
{
    <table border="1">
        <tr>
            <td>
                <b>Order #</b>
            </td>
            <td>
                @Model.ID
            </td>
        </tr>
        <tr>
            <td>
                <b>Description</b>
            </td>
            <td>
                @Model.Description
            </td>
        </tr>
        <tr>
            <td>
                <b>Salesperson Name</b>
            </td>
            <td>
                @Model.SalespersonName
            </td>
        </tr>
    </table>
    <h3>
        Line Items</h3>

    <input id="btnAddLineItem" type="submit" name="AddLineItem" value="AddLineItem" />

    @Html.HiddenFor(@Model.ID)

    <table border="1">
        <tr>
            <td>
                <b>Line Item ID</b>
            </td>
            <td>
                <b>Description</b>
            </td>
        </tr>
        @for (int i = 0; i < @Model.LineItems.Count; ++i)
        {
            <tr>
                <td>
                    @Model.LineItems[i].ID
                </td>
                <td>
                    @Model.LineItems[i].Description
                </td>
            </tr>
        }</table>
}

最佳答案

HiddenFor带有表达式。

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

10-04 16:39