Как вставить фиксированное значение в поле при создании новой строки - PullRequest
1 голос
/ 19 июня 2011

Я работаю на asp.net mvc3.Я разработал базу данных в SQL Server.И я получаю доступ к базе данных с помощью ado.net, я проектирую страницу "CREATE".

Это мой view.cshtml

@model CalcoWOMS.Models.ProductFormulation

@{
    ViewBag.Title = "doProductFormulation";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

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

      <div>  


          @Html.EditorFor(model => model.ProductID) <!-- i want to insert fix value (100) in this ProductID field in ProductFormulation Table -->
            @Html.ValidationMessageFor(model => model.ProductID)
    </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.RawMaterialID)
        </div>
        <div class="editor-field">
            @Html.DropDownList("RawMaterialID","SELECT")
            @Html.ValidationMessageFor(model => model.RawMaterialID)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Code)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Code)
            @Html.ValidationMessageFor(model => model.Code)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Description)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Description)
            @Html.ValidationMessageFor(model => model.Description)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.MinimumBatchSize)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.MinimumBatchSize)
            @Html.ValidationMessageFor(model => model.MinimumBatchSize)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Quantity)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Quantity)
            @Html.ValidationMessageFor(model => model.Quantity)
        </div>

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

<div>
    @Html.ActionLink("Back to List", "ProductFormulationIndex")
</div>

Я хочу вставить фиксированное значение (100) в этоПоле ProductID в таблице ProductFormulation и не нужно создавать редактируемое поле.Что мне для этого сделать?

1 Ответ

1 голос
/ 19 июня 2011

Возможно, я не понимаю вопроса (я скорее бэкэнд-разработчик), но кажется, что простое решение - удалить эти две строки:

<div>
      @Html.EditorFor(model => model.ProductID) 
      @Html.ValidationMessageFor(model => model.ProductID)
</div>

Затем обновите Model в методе Create, [post] вашего контроллера, чтобы обновить ProductID до 100, прежде чем записывать его в хранилище. Конечно, то, как вы это сделаете, зависит от структуры вашего контроллера, которую вы не опубликовали.

Насколько я понимаю, альтернативой было бы иметь скрытое поле на странице и создать Model с ProductID из 100 в начальном вызове Create, но если вы всегда собираетесь использовать жесткий код идентификатор продукта (который, если честно, кажется сомнительным) равен 100, тогда это кажется бессмысленным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...