Отобразить частичный вид после кнопки Отправить


Пожалуйста, предложите хороший способ подачи частичный вид формы после отправки. В настоящее время, я делаю это таким образом, который я думаю, это не правильный способ.

Как есть более одной записи в главном окне и каждая запись имеет кнопку выбора, что дает мне частичный вид на основе ID и <div id="Partial"></div> отображает частичный вид.

Основной Вид

<table id="tblInfo" >
    <tr>
        <th>@Html.DisplayNameFor(m =>m.Name)</th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>@Html.DisplayFor(modelItem => item.Name)</td>
            <td>
                <input class="search" type="button" value="Select" data-assigned="@item.Id"  />
            </td>
        </tr>                         
    }
</table>

<div id="Partial"></div>

Частичный вид _Abc.cshtml по

@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "myform" }))
{
    @Html.TextBoxFor(m => m.txtAddress)
    <button type="submit">Page</button>              
}

Контроллер представляет частичный вид форма

[HttpPost]
public ActionResult Index(ClsInfo clsInfo)
{
    string Id = Session["Id"].ToString();
    Details.produceData(clsInfo);
    if (Id == "A01")
    {
        return PartialView("~/Views/Home/_Abc.cshtml");
    }
    else if (Id == "A02")
    {
        return PartialView("~/Views/Home/_Cde.cshtml", model);
    } 
    return PartialView();       
}

AJAX-вызов после подачи

$(document).ready(function () {
    var url = '@Url.Action("Home")';
    $('#Partial').on('submit', '#myform', (function () {
        if (!$(this).valid()) {
            return;
        }
        $.post(url, $(this).serialize(), function (response) {
            $('#Partial').html(response);
        });
        return false;
    }))
});


131
0
задан 19 марта 2018 в 10:03 Источник Поделиться
Комментарии