【发布时间】:2020-02-12 12:03:54
【问题描述】:
我有一个包含 3 个单选按钮的视图页面。我有 3 个数据表和 3 个视图模型。当我点击搜索时,我只想要一个数据表来显示和显示数据 - 由单选按钮选择。
如果我选择单选按钮'B',点击搜索后,我的第二个数据表需要显示,第一和第三个表必须隐藏。
我尝试过的代码:
对于单选按钮:
<div class="row">
<div class="col-md-4 col-lg-4">
<label class="radio-inline">
@Html.RadioButton("RBData", "true", new { @checked = true }) Data 1
</label>
</div>
<div class="col-md-4 col-lg-4">
<label class="radio-inline">
@Html.RadioButton("RBData", "true", new { @checked = true }) Data 2
</label>
</div>
<div class="col-md-4 col-lg-4">
<label class="radio-inline">
@Html.RadioButton("RBData", "true", new { @checked = true }) Data 3
</label>
</div>
</div>
对于3个数据表:
@model IEnumerable<ViewModel.DetailsVM>
<div class="row">
<div class="col-md-12 col-sm-12 datagrid">
<table cellspacing="1" cellpadding="2" style="width:100%" id="table1" class="table table-striped table-hover table-bordered table-hd">
<thead>
<tr class="gridheader">
<td style="width: 25%;" >value 1</td>
<td style="width: 25%;" >value 2</td>
<td style="width: 25%;" >value 3</td>
<td style="width: 25%;" >value 4</td>
</tr>
</thead>
<tbody>
@if (Model != null)
{
foreach (var m in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => m.value1)</td>
<td>@Html.DisplayFor(modelItem => m.value2)</td>
<td>@Html.DisplayFor(modelItem => m.value3)</td>
<td>@Html.DisplayFor(modelItem => m.value4)</td>
</tr>
}
}
</tbody>
</table>
</div>
</div>
@model IEnumerable<ViewModel.ContactsVM>
<div class="row">
<div class="col-md-12 col-sm-12 datagrid">
<table cellspacing="1" cellpadding="2" style="width:100%" id="table2" class="table table-striped table-hover table-bordered table-hd">
<thead>
<tr class="gridheader">
<td style="width: 25%;" >value 1</td>
<td style="width: 25%;" >value 2</td>
<td style="width: 25%;" >value 3</td>
<td style="width: 25%;" >value 4</td>
</tr>
</thead>
<tbody>
@if (Model != null)
{
foreach (var m in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => m.value1)</td>
<td>@Html.DisplayFor(modelItem => m.value2)</td>
<td>@Html.DisplayFor(modelItem => m.value3)</td>
<td>@Html.DisplayFor(modelItem => m.value4)</td>
</tr>
}
}
</tbody>
</table>
</div>
</div>
@model IEnumerable<ViewModel.DataVM>
<div class="row">
<div class="col-md-12 col-sm-12 datagrid">
<table cellspacing="1" cellpadding="2" style="width:100%" id="table3" class="table table-striped table-hover table-bordered table-hd">
<thead>
<tr class="gridheader">
<td style="width: 25%;" >value 1</td>
<td style="width: 25%;" >value 2</td>
<td style="width: 25%;" >value 3</td>
<td style="width: 25%;" >value 4</td>
</tr>
</thead>
<tbody>
@if (Model != null)
{
foreach (var m in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => m.value1)</td>
<td>@Html.DisplayFor(modelItem => m.value2)</td>
<td>@Html.DisplayFor(modelItem => m.value3)</td>
<td>@Html.DisplayFor(modelItem => m.value4)</td>
</tr>
}
}
</tbody>
</table>
</div>
</div>
对于搜索按钮:
<div class="btn-group">
<button id="btnSearch" type="submit" name="btnSearch" class="btn btn-block btn-success btn-flat"><span class="hide-on-mobile">Search </span><i class="fa fa-search"></i></button>
</div>
我是使用不同视图模型的 MVC 新手。我收到一条消息,不能在同一个视图中使用多个视图模型。但是如何解决这个问题,我需要在单击搜索按钮后从控制器获取数据表的数据。到目前为止,我只熟悉单视图模型返回。要显示和隐藏数据表,我们可以使用javascript吗?如何解决这个问题?
【问题讨论】:
-
你的问题得到解答了吗
标签: javascript c# asp.net-mvc model-view-controller datatable