Asp.NET MVC Radiobutton不能在Model中使用HttpPost

时间:2017-04-29 13:16:51

标签: asp.net-mvc

我选择true或false但总是看到bool的默认默认值。请帮帮我。

MODEL

public partial class Istek
{
   public bool iade { get; set; }
}

查看

我试过这个

@Html.RadioButtonFor(x => x.iade, "true", new { @id = "iade-evet", @class = "md-radiobtn" })
@Html.RadioButtonFor(x => x.iade, "false", new { @id = "iade-hayir", @class = "md-radiobtn" })

和这个

@Html.RadioButtonFor(x => x.iade, true, new { @id = "iade-evet", @class = "md-radiobtn" })
@Html.RadioButtonFor(x => x.iade, false, new { @id = "iade-hayir", @class = "md-radiobtn" })

和这个

<input type="radio" id="iade-evet" name="iade" class="md-radiobtn">
<input type="radio" id="iade-hayir" name="iade" class="md-radiobtn">

但所有这些都没有用。

CONTROLLER

enter image description here

2 个答案:

答案 0 :(得分:1)

你的尝试大多是正确的,但没有被打破。没有必要逃避id。标记为class,因为它是C#保留关键字。

@Html.RadioButtonFor(x => x.iade, true, new { id = "iade-evet", @class = "md-radiobtn" })
@Html.RadioButtonFor(x => x.iade, false, new { id = "iade-hayir", @class = "md-radiobtn" })

现在检查呈现的HTML

<input id="iade-evet" name="iade" value="True" ... />
<input id="iade-hyir" name="iade" value="False" ... />

name应与模型的属性名称匹配。如果您有一个多部分标识符,例如x.iade(这通常在您引用子模型时发生),那么您需要更改参数名称以使它们匹配。

动作签名

public ActionResult Ekle(Istek x, bool zararliEtki)
{
}

或视图中的模型标识符

@Html.RadioButtonFor(x => istek.iade, true, new { id="iade-evet", @class="md-radiobtn" })

答案 1 :(得分:0)

为单选按钮添加值。它不是一个自动发送true或false的复选框。单选按钮必须有值。