部分视图H
中有2个单选按钮T
和_p
。
加载_p
时,默认情况下会选中H
单选按钮,并显示相应的txtH
。但单选按钮H
和T
的工作原理基于以脚本编写的显示/隐藏代码,如下所示。
现在,如果T
单选按钮已选中且其各自的文本框中填充了一些数据,并且如果我现在提交_p
,则部分视图会刷新并进入H
所在的开始阶段默认选中。
但我想要的是,在页面刷新后,应使用T
选择txtT
无线电。
当我调试代码时,$('#mypartial').html(response);
会在开始阶段发送页面。
编辑:我已经编辑了我的问题以获得更清晰的信息。在控制器部分添加了一些代码,并添加了脚本以调用部分视图。
控制器
[HttpPost]
public ActionResult Home(ClsAA clsAA)
{
ModelState.Clear();
if (Id == "Z01")
{
return PartialView("~/Views/Home/_P.cshtml", clsAA);
}
else if (Id == "P02")
{
return PartialView("~/Views/Home/_I.cshtml", clsAA);
}
return PartialView();
}
主视图
<table>
<tr>
<th>@Html.DisplayNameFor(m => m.ProductName)</th>
<th>@Html.DisplayNameFor(m => m.ProductDetail)</th>
<th>@Html.DisplayNameFor(m => m.ProductCost)</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.ProductName)</td>
<td >@Html.DisplayFor(modelItem => item.ProductDetail)</td>
<td>@Html.DisplayFor(modelItem => item.ProductCost)</td>
<td><input class="search btn-default" type="button" value="Select" data-assigned="@item.ProductCode"/></td>
</tr>
}
</table>
<div id="MyReports">
@using (Html.BeginForm("Home", "Home", FormMethod.Post, new { id = "myform" }))
{
<div id="mypartial"></div>
<button type="submit" id="submit">Run</button>
}
</div>
这是Partial加载的方式
$('.search').click(function () {
var id = $(this).data('assigned');
var route = '@Url.Action("PartialView", "Home")?id=' + id;
$('#mypartial').load(route)
});
部分视图
<div class="PContainer">
<label>
@Html.RadioButtonFor(m => m.HDT, "H", new { @checked = "checked" })H
</label>
<label>
@Html.RadioButtonFor(m => m.HDT, "T")T
</label>
</div>
<div class="P">
<div id="H" class="PHT">
@Html.TextBoxFor(m => m.txtH)
</div>
<div id="T" class="PHT">
@Html.TextBoxFor(m => m.txtT)
</div>
</div>
对于radiobutton脚本
$("document").ready(function () {
$('#MyReports').on('change', '.PContainer input[type = "radio"]', function () {
var divs = $('.P').find('.PHT');
var id = $(this).val();
divs.hide();
$('#' + id).show();
})
});
提交脚本
$(document).ready(function () {
var url = '@Url.Action("Home")';
$('#myform').submit(function () {
if (!$(this).valid()) {
return;
}
$.post(url, $(this).serialize(), function (response) {
debugger;
$('#mypartial').html(response);
$("#myModal").modal('show');
});
return false;
})
});