Asp.net无法将选择中的值发送到控制器中的http帖子

问题描述 投票:1回答:1

我正在创建一个网站,您可以在其中创建节目并将其添加到列表中。当我创建一个时,一切正常,除了没有一个值不会发送到帖子。该值来自选择。

<div class="form-group">
    @Html.LabelFor(model => model.idCategories, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        <select class="form-control" id="Categorie" name="Categorie">
            <option>--Choisir la categorie--</option>
            @foreach (var item in ViewBag.Categories)
            {
                <option value="@item.idCategories">@item.Description</option>
            }
        </select>
        @Html.ValidationMessageFor(model => model.idCategories, "", new { @class = "text-danger" })
    </div>
</div>

在这种情况下,每个选项的所有值都是正常值,目前从1到5。但是,当我按下“提交”按钮发送http帖子请求时,发送的值始终为0,我似乎无法理解为什么。我将信息发送到此控制器: [HttpPost] public ActionResult AjouterSpectacle(SpectacleView spectacle) { Client currentUser = OnlineUsers.GetSessionUser().ToUser(); spectacle.IdDistributeur = currentUser.idClient; ViewBag.Categories = DB.Categories; ViewBag.testCat = new SelectList(DB.Categories, "idCategories", "Description"); if (ModelState.IsValid) DB.AddSpectacle(spectacle); else return View(spectacle); return RedirectToAction("Spectacles"); }

可变眼镜有一个idCategorie,应该从选择中发送一个ID,但该值始终为0。我正在尝试使其从选择中发送正确的值我的猜测是我犯了一个明显的错误,但我似乎无法理解它。

我正在创建一个网站,您可以在其中创建节目并将其添加到列表中。当我创建一个时,一切正常,除了没有一个值不会发送到帖子。该值来自选择。 ...

c# asp.net asp.net-mvc
1个回答
0
投票

[当执行表单发布时,数据将作为键值对发送,其中键是元素的名称属性,而值是用户提供或选择的值。然后,当控制器接收到发布数据时,它会将接收到的数据的键映射到视图模型中具有相同名称的属性。

© www.soinside.com 2019 - 2024. All rights reserved.