0

我有一个帖子,我在其中定义了一个新的数据库实体。用户输入所需的值并提交表单后,我插入实体并将其发布回同一页面并显示其 ID。当我进入 ID 区域时disabledreadonly如下所示,它工作得很好。

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>

    ID:
    @Html.TextBoxFor(model => model.ID, new { disabled = "disabled", @readonly = "readonly" })

    <p><input type="submit" name="submit" value="Create" /></p>
    </fieldset>
}

但是,当我仅readonly按如下方式输入时,它会插入实体,但不会查看 ID。

@Html.TextBoxFor(model => model.ID, new { @readonly = "readonly" })

我在表单中有另一个提交,它使用实体 ID。但是,我不能disabled在此处使用 ID 区域,因为它不会发布 ID 值。我可以做些什么来解决这个问题?

4

2 回答 2

1

disabled您可以在提交之前启用该字段。因此,请保持禁用 ID 字段。现在,在提交时启用它。IE; 如果您在“myButton”单击上提交表单,请将其添加到document.ready()

$('#myButton').click(function(e)
{
    e.preventDefault();
    $("#ID").removeAttr('disabled');
    $('form').submit();
});
于 2013-04-05T09:37:32.513 回答
0

我没有使用html扩展,而是直接写了:

<input type="text" name="ID" value="@Model.ID" readonly />

它就像一个魅力。

于 2013-04-06T00:31:49.323 回答