输入类型= "range" - 以 ASP.NET 将数据从视图发送到控制器



我在通过滑块将数据从视图发送到控制器时遇到问题。数据可以作为对象或变量发送,但仍然不起作用。有人能帮我吗?

这是视图中的滑块:

<tr>
<th scope="row">1</th>
<td>
<p>@Model.UserDeterminants[0].DeterminantName.Value</p>
</td>
<td>
<form asp-area="" asp-controller="Examine" asp-action="SubmitValue" asp-route-range="range1" asp-route-id="@Model.Id" value="points" method="post" class="rd-form">
<input type="range" defaultValue="0" name="range1" id="my_range1" min="-100" max="100" onload="updateSliderValue(this.value)" onchange="updateSliderValue(this.value)"/>
<p><span>0</span></p>
<button class="button button-block button-primary button-pipaluk" type="submit">Zatwierdź</button>
</form>
</td>
<td>
<p>@Model.UserDeterminants[1].DeterminantName.Value</p>
</td>
</tr>
<script>
$('#my_range1').on("change mousemove", function () {
$(this).next().html($(this).val());
});
</script>

还有一个控制器:

[HttpGet]
public IActionResult SubmitValue (int range)
{
...
}

已解决,谢谢@noobprogrammer。我把[FromBody]改成了[FromForm]。工作解决方案:

<form asp-action="Submit" asp-route-range="range" asp-route-Id="@Model.Id" method="post">
<input type="range" defaultValue="0" name="range" id="range1" min="-100" max="100" onload="updateSliderValue(this.value)" onchange="updateSliderValue(this.value)" />                        <p><span>0</span></p>
<button class="button button-block button-primary button-pipaluk" type="submit">Zatwierdź</button>
</form>
<script>
$('#my_range1').on("change mousemove", function () {
$(this).next().html($(this).val());
});
</script>

控制器中:

[HttpPost]
public IActionResult Submit ([FromForm] int range, int Id)
{
...
}

最新更新