使用用户输入和硬编码值添加模型

时间:2013-02-07 13:02:36

标签: asp.net-mvc razor

好的,我正在使用MVC框架。我有一个添加模型的视图。目前我正在使用默认的“创建”控制器。

我希望能够创建一个预先设置了我自己的变量的模型。例如我想将model.UserId设置为用户ID。我想要一些值由用户输入,我想要一些已经设置。有没有办法可以做这样的事情

(伪代码)

model.matchId = 123
model.prediction type = "user input"
add model 

这是我目前的代码

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Predictions</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.MatchId, "Match")
    </div>
    <div class="editor-field">
        @Html.DropDownList("MatchId", String.Empty)
        @Html.ValidationMessageFor(model => model.MatchId)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.UserId, "User")
    </div>
    <div class="editor-field">
        @Html.DropDownList("UserId", String.Empty)
        @Html.ValidationMessageFor(model => model.UserId)
    </div>

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

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

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

}

1 个答案:

答案 0 :(得分:0)

在控制器中,您可以在将模型返回到View之前设置模型上的值。

public class HomeController : Controller
    {
        public ActionResult About()
        {
            var model = new MyModel();
            model.SomeId = 123;
            model.SomeOtherProperty = "Hello World";
            return View(model);
        } 
 }