1

我有以下代码...

@using (Html.BeginForm())
{
<table class="tableList">
    <thead>
        <tr>
            <td>Location</td>
            <td>Quantity</td>
            <td>Pick Qty.</td>
        </tr>
    </thead>
    <tbody>
        @foreach (FullInventory inv in Model)
        {
            <tr>
                <td>@Html.DisplayFor(m => inv.InventoryLocationName)</td>
                <td>@Html.DisplayFor(m => inv.Quantity)</td>
                <td>@Html.EditorFor(m => inv.Quantity)</td>
            </tr>
        }
    </tbody>
</table>

<div class="midButton">
    <button type="submit" id="btnPick" value="Pick">Pick</button>
</div>
}

我希望“EditorFor”数量是一个空框。正如我所期望的那样,它会自动将 Quantity 值放入 Quantity 框中。但是,我希望 Quantity 文本框在页面加载时默认为空。

4

4 回答 4

1

尝试执行以下操作:

@Html.EditorFor(m => inv.Quantity, new { @Value = "" })
于 2013-09-12T13:47:15.483 回答
1

您可以在渲染视图之前在控制器中将 model.Quantity 设置为空,或者在页面加载后通过页面上的 jquery 执行此操作:

$('.tableList tbody .Quantity').val('');
于 2013-09-12T13:48:30.997 回答
0

使 Quantity 在您的模型中成为可为空的类型,例如

int? Quantity { get; set;}
于 2013-09-12T13:46:55.087 回答
0

如果您的模型具有某些值,请在控制器中清除它们,然后再使用返回视图

ModelState.Clear();

为了确保浏览器不填充以前的值,试试这个,

@Html.EditorFor(model => model.MyField,new { autocomplete = "off" }))

让我知道它是否有帮助!干杯。

于 2013-09-12T13:55:25.437 回答