$ .post(url,$(this).serialize(),function(response){在开始阶段发送页面

时间:2018-04-12 02:18:16

标签: jquery asp.net-mvc

部分视图H中有2个单选按钮T_p

加载_p时,默认情况下会选中H单选按钮,并显示相应的txtH。但单选按钮HT的工作原理基于以脚本编写的显示/隐藏代码,如下所示。

现在,如果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;
    })
});

0 个答案:

没有答案