我正在尝试获取多种形式,每种形式都有一个隐藏字段并下拉。
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('', include('pages.urls')),
path('listings/', include('listings.urls')),
path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我第一次加载页面并在下拉菜单中更改值时,表单会将正确的值发布到控制器。重新加载页面时,<table class="table">
@foreach (var sport in Model.Sports)
{
@using (Html.BeginForm("Index"))
{
<tr>
<td>
@Html.Label(sport.Name, sport.Name)
@Html.Hidden("sportId", sport.Id)
</td>
<td>
@Html.DropDownList("masterSelect", new SelectList((IEnumerable<ThingModel>)Model.Things, "Id", "Name", Model.GetThing(sport.Id).Id), new { @class = "dropleft", onchange = "this.form.submit();" })
</td>
</tr>
}
}
</table>
字段全都不同(按预期方式),但是隐藏字段均具有相同的值,即从下拉列表中选择的一个。即使调试了cshtml,我仍然可以看到sport.Name
的值正确,但不是正确的值。