Visual studio 2015 如何获取表单上选定单选按钮标记辅助对象的硬编码值
如果不在Visual studio 2015 如何获取表单上选定单选按钮标记辅助对象的硬编码值,visual-studio-2015,asp.net-core-mvc,tag-helpers,Visual Studio 2015,Asp.net Core Mvc,Tag Helpers,如果不在ViewModel中定义一个属性,该属性保存input类型radio的value属性的值,则可以执行上述操作。例如,在下面的视图中,如果用户选择了店内单选按钮,我希望SelectedOrderType属性保持1,如果选择了在线单选按钮,则保持2。 但在提交表单时,SelectedOrderType属性始终保持值1,而不管选择了哪个单选按钮注意:加载表单时,默认情况下选中第一个单选按钮。当然,用户可以在提交表单之前检查这两个选项中的任何一个注意2:表单通过以下视图中的Ajax调用提交: 使
ViewModel
中定义一个属性,该属性保存input
类型radio
的value属性的值,则可以执行上述操作。例如,在下面的视图中
,如果用户选择了店内
单选按钮,我希望SelectedOrderType
属性保持1,如果选择了在线
单选按钮,则保持2。
但在提交表单时,SelectedOrderType
属性始终保持值1,而不管选择了哪个单选按钮注意:加载表单时,默认情况下选中第一个单选按钮。当然,用户可以在提交表单之前检查这两个选项中的任何一个注意2:表单通过以下视图中的Ajax调用提交:
使用带有单选按钮标记帮助器的表单查看:
@model TestProj.Models.TestViewModel
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#menu1">Add Order</a></li>
</ul>
<div class="tab-content">
<div id="menu1" class="tab-pane in active">
<form asp-controller="TestContrl" asp-action="TestAction" method="post">
<div asp-validation-summary="All" class="text-danger"></div>
<div class="radio">
<label><input asp-for="SelectedOrderType" type="radio" value="1" checked="checked">In-Store</label>
</div>
<div class="radio">
<label><input asp-for="SelectedOrderType" type="radio" value="2">Online</label>
</div>
<div>
....
....
<button type="button" class="btn btn-info btn-xs">Submit Order</button>
</div>
</form>
</div>
</div>
@section scripts
{
<script>
$(document).ready(function () {
$('.tab-content').on('click', '.btn', function (event) {
var selectedOrderTypeVal = $('#SelectedOrderType').val();
$.ajax({
url: '@Url.Action("TestContrl", "TestAction")',
data: { SelectedOrderType: selectedOrderTypeVal },
contentType: 'application/json',
dataType: 'html',
type: 'GET',
cache: false,
success: function (data) {
$('#menu1').html(data);
},
error: function (jqXHR, textStatus) {
alert('jqXHR.statusCode');
}
});
});
});
</script>
}
public class TestViewModel
{
public string SelectedOrderType { get; set; }
public string CustormerName{ get; set; }
}
<html>
....
<div class="radio">
<label><input type="radio" value="1" checked="checked" data-val="true" data-val-required="The SelectedProjType field is required."
id="SelectedOrderType" name="SelectedOrderType">In-Store</label>
</div>
<div class="radio">
<label><input type="radio" value="2" id="SelectedOrderType" name="SelectedOrderType">Online</label>
</div>
....
</html>
视图的已生成Html的快照:
@model TestProj.Models.TestViewModel
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#menu1">Add Order</a></li>
</ul>
<div class="tab-content">
<div id="menu1" class="tab-pane in active">
<form asp-controller="TestContrl" asp-action="TestAction" method="post">
<div asp-validation-summary="All" class="text-danger"></div>
<div class="radio">
<label><input asp-for="SelectedOrderType" type="radio" value="1" checked="checked">In-Store</label>
</div>
<div class="radio">
<label><input asp-for="SelectedOrderType" type="radio" value="2">Online</label>
</div>
<div>
....
....
<button type="button" class="btn btn-info btn-xs">Submit Order</button>
</div>
</form>
</div>
</div>
@section scripts
{
<script>
$(document).ready(function () {
$('.tab-content').on('click', '.btn', function (event) {
var selectedOrderTypeVal = $('#SelectedOrderType').val();
$.ajax({
url: '@Url.Action("TestContrl", "TestAction")',
data: { SelectedOrderType: selectedOrderTypeVal },
contentType: 'application/json',
dataType: 'html',
type: 'GET',
cache: false,
success: function (data) {
$('#menu1').html(data);
},
error: function (jqXHR, textStatus) {
alert('jqXHR.statusCode');
}
});
});
});
</script>
}
public class TestViewModel
{
public string SelectedOrderType { get; set; }
public string CustormerName{ get; set; }
}
<html>
....
<div class="radio">
<label><input type="radio" value="1" checked="checked" data-val="true" data-val-required="The SelectedProjType field is required."
id="SelectedOrderType" name="SelectedOrderType">In-Store</label>
</div>
<div class="radio">
<label><input type="radio" value="2" id="SelectedOrderType" name="SelectedOrderType">Online</label>
</div>
....
</html>
....
在制品
在线 的
....
上述Ajax代码中的以下代码就是问题所在
var selectedOrderTypeVal = $('#SelectedOrderType').val();
它应该是如下所述:
也很有趣[如果您想使用ViewModels]:
检查
及