Asp.net mvc MVC视图有两种形式,为什么都呈现为相同的动作? @使用(Html.BeginForm(“取消分配”、“终端\数据组”)) { @Html.HiddenFor(m=>m.DeviceId) @Html.HiddenFor(m=>m.DataGroupId) } @使用(Html.BeginForm(“分配”、“终端\数据组”)) { @Html.HiddenFor(m=>m.DeviceId) @LabelFor(model=>model.DataGroups) @Html.DropDownListFor(model=>model.DataGroupsSelectedItem,新建SelectList(model.DataGroups,“Value”,“Text”)) @Html.ValidationMessageFor(model=>model.DataGroupsSelectedItem) }
但HTML呈现为:Asp.net mvc MVC视图有两种形式,为什么都呈现为相同的动作? @使用(Html.BeginForm(“取消分配”、“终端\数据组”)) { @Html.HiddenFor(m=>m.DeviceId) @Html.HiddenFor(m=>m.DataGroupId) } @使用(Html.BeginForm(“分配”、“终端\数据组”)) { @Html.HiddenFor(m=>m.DeviceId) @LabelFor(model=>model.DataGroups) @Html.DropDownListFor(model=>model.DataGroupsSelectedItem,新建SelectList(model.DataGroups,“Value”,“Text”)) @Html.ValidationMessageFor(model=>model.DataGroupsSelectedItem) },asp.net-mvc,razor,html-helper,html.beginform,Asp.net Mvc,Razor,Html Helper,Html.beginform,但HTML呈现为: @using (Html.BeginForm("Unassign", "Terminals_DataGroups")) { @Html.HiddenFor(m => m.DeviceId) @Html.HiddenFor(m => m.DataGroupId) <input type="submit" value="Remove group from device" @(string.IsNullOrEmpty(Model.Data
@using (Html.BeginForm("Unassign", "Terminals_DataGroups"))
{
@Html.HiddenFor(m => m.DeviceId)
@Html.HiddenFor(m => m.DataGroupId)
<input type="submit" value="Remove group from device" @(string.IsNullOrEmpty(Model.DataGroupName) ? "disabled=\"disabled\"" : "") />
}
@using (Html.BeginForm("Assign", "Terminals_DataGroups"))
{
@Html.HiddenFor(m => m.DeviceId)
<div class="editor-label">
@Html.LabelFor(model => model.DataGroups)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.DataGroupsSelectedItem, new SelectList(Model.DataGroups, "Value", "Text"))
@Html.ValidationMessageFor(model => model.DataGroupsSelectedItem)
</div>
<input type="submit" value="Assign Data Group" />
}
数据组
数据组2
数据组3
新组
您必须添加ID标签和值
对不起我的英语;) 尝试将
id
字段添加到表单。谢谢,但没有区别。您的代码看起来不错。。。您是否正在使用javascript或任何可能会重定表单目标的操作?这很奇怪。我可以看到这两种形式都在我身边展示了它们各自的行为。您能检查一下是否有任何控制台错误或脚本错误吗?Shi Scott,是的,这很奇怪,但我可以确认这不是缓存问题。我有一个线索,它与我的路由表有关,似乎是一个很好的猜测,所以我为未分配的操作添加了一个新的路由,它现在可以工作了。谢谢大家
<form action="/Terminals_DataGroups/Assign" method="post">
<input data-val="true"
data-val-number="The field DeviceId must be a number."
data-val-required="The DeviceId field is required."
id="DeviceId"
name="DeviceId"
type="hidden"
value="15" />
<input data-val="true"
data-val-number="The field DataGroupId must be a number."
id="DataGroupId"
name="DataGroupId"
type="hidden"
value="1" />
<input type="submit" value="Remove group from device" />
</form>
<form action="/Terminals_DataGroups/Assign" method="post">
<input data-val="true"
data-val-number="The field DeviceId must be a number."
data-val-required="The DeviceId field is required."
id="DeviceId"
name="DeviceId"
type="hidden"
value="15" />
<div class="editor-label">
<label for="DataGroups">Data groups</label>
</div>
<div class="editor-field">
<select data-val="true"
data-val-number="The field DataGroupsSelectedItem must be a number."
id="DataGroupsSelectedItem"
name="DataGroupsSelectedItem">
<option value="2">DataGroup2</option>
<option value="3">DataGroup3</option>
<option value="5">New group</option>
</select>
<span class="field-validation-valid"
data-valmsg-for="DataGroupsSelectedItem"
data-valmsg-replace="true"></span>
</div>
<input type="submit" value="Assign Data Group" />
</form>