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 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

但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.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>