如何覆盖Razor的"名称"HtmlAttribute

Viv*_*jan 12 c# razor asp.net-mvc-4

    @Html.RadioButtonFor(Model => Model.Location, "Location")
    @Html.LabelFor(Model=>Model.Location,"Location")
    @Html.RadioButtonFor(Model=>Model.Model,"Model")
    @Html.LabelFor(Model=>Model.Model,"Model")
    @Html.RadioButtonFor(Model=>Model.MovableUnit,"MU")
    @Html.LabelFor(Model=>Model.MovableUnit,"MU")




   <input id="Location" name="Location" type="radio" value="Location" />
    <label for="Location">Location</label>
    <input id="Model" name="Model" type="radio" value="Model" />
    <label for="Model">Model</label>
    <input id="MovableUnit" name="MovableUnit" type="radio" value="MU" />
    <label for="MovableUnit">MU</label>
Run Code Online (Sandbox Code Playgroud)

如何为所有上述单选按钮设置一个通用名称="radiobtn"?问题是我想一次只选择一个单选按钮,但在这种情况下,所有单选按钮都可以同时选择.

Viv*_*jan 24

只需在Model类中创建一个虚拟属性,如public string Dummy {get; 组;}

@Html.RadioButtonFor(Model => Model.Location, "LOC", new { @Name = "Dummy"})
@Html.RadioButtonFor(Model => Model.Model_Number, "MOD", new { @Name = "Dummy" })
@Html.RadioButtonFor(Model => Model.MovableUnit, "MU", new { @Name = "Dummy" })
Run Code Online (Sandbox Code Playgroud)

使用属性名称"Dummy"获取值"LOC","MOD","MU".

  • 注意... @Name区分大小写. (5认同)

Joa*_*nvo 5

使用不带“for”的函数,则可以指定名称:

@Html.RadioButton("newname", "value", new { @id="oldname" })
Run Code Online (Sandbox Code Playgroud)