1.在asp.net core mvc中,采用model传值
2.由于字段Alarmstate为int类型(Stop:0,ON:1,OFF:2),当表单提交到后台,该字段为null
3.怎样将选中的Button值value,转换后以model字段的形式传递到后台接收呢?
<div class="btn-group">
<input asp-for="Alarmstate" value="Stop" type="button" class="btn btn-outline-success" onclick="SetState(this)"/>
<input asp-for="Alarmstate" value="ON" type="button" class="btn btn-outline-success active" onclick="SetState(this)"/>
<input asp-for="Alarmstate" value="OFF" type="button" class="btn btn-outline-success" onclick="SetState(this)"/>
</div>
<div class="btn-group">
<input id="btnStop" value="Stop" type="button" class="btn btn-outline-success" onclick="SetState('Stop')"/>
<input id="btnOn" value="ON" type="button" class="btn btn-outline-success active" onclick="SetState('ON')"/>
<input id="btnOff" value="OFF" type="button" class="btn btn-outline-success" onclick="SetState('OFF')"/>
</div>
@model YourModel
<form method="post" action="/YourController/YourAction">
@Html.HiddenFor(m => m.Alarmstate)
<button type="submit">Submit</button>
</form>
<script>
function SetState(state) {
var alarmStateInput = document.getElementById("Alarmstate");
if (state === "Stop") {
alarmStateInput.value = 0;
} else if (state === "ON") {
alarmStateInput.value = 1;
} else if (state === "OFF") {
alarmStateInput.value = 2;
}
}
</script>