Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 模态中的加载模型只工作一次_Javascript_C#_Asp.net Mvc_Twitter Bootstrap_Caching - Fatal编程技术网

Javascript 模态中的加载模型只工作一次

Javascript 模态中的加载模型只工作一次,javascript,c#,asp.net-mvc,twitter-bootstrap,caching,Javascript,C#,Asp.net Mvc,Twitter Bootstrap,Caching,我有一个恼人的问题,这几个晚上我一直在努力解决。不过到目前为止运气不好。我有一个带有模态的视图和一个渲染到模态中的局部视图。我根据单击表中的按钮时传递给控制器的参数,用数据填充partialview。第一个很好,按钮调用controller->controller将模型传递给partialview->模式打开,正确的数据在字段中 当我在另一条记录上单击一个按钮时,会打开模式并显示旧数据。控制器不再被调用,因此数据不会刷新。问题是,如果我用shift+f5刷新页面,它会再次工作一次。因此,这似乎是

我有一个恼人的问题,这几个晚上我一直在努力解决。不过到目前为止运气不好。我有一个带有模态的视图和一个渲染到模态中的局部视图。我根据单击表中的按钮时传递给控制器的参数,用数据填充partialview。第一个很好,按钮调用controller->controller将模型传递给partialview->模式打开,正确的数据在字段中

当我在另一条记录上单击一个按钮时,会打开模式并显示旧数据。控制器不再被调用,因此数据不会刷新。问题是,如果我用shift+f5刷新页面,它会再次工作一次。因此,这似乎是一个缓存问题

我到目前为止所做的尝试 -禁用控制器和方法中的缓存 -调用javascript方法从my modal中删除数据 -使用其他情态动词

代码 索引视图

<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
    <div class="col-lg-12">
        <div class="ibox float-e-margins">
            <div class="ibox-title">
                <h5>List of registrations</h5>
                <div class="ibox-tools">
                    @Html.ActionLink("Create New", "Create", null, new { @class = "btn btn-primary btn-xs" })
                </div>
            </div>
            <div class="ibox-content">
                <table class="table table-striped" id="datatable">
                    <thead>
                        <tr>
                            <th>
                                @Html.DisplayNameFor(model => model.Date)
                            </th>

                            <th>
                                @Html.DisplayNameFor(model => model.Car.Kenteken)
                            </th>

                            <th>
                                @Html.DisplayNameFor(model => model.DepartureLocation)
                            </th>

                            <th>
                                @Html.DisplayNameFor(model => model.ArrivalLocation)
                            </th>

                            <th>
                                @Html.DisplayNameFor(model => model.Distance)
                            </th>
                            <th>
                                @Html.DisplayNameFor(model => model.Allowance)
                            </th>
                            <th></th>
                        </tr>
                    </thead>
                    <tbody>
                        @foreach (var item in Model)
                        {
                            <tr>
                                <td>
                                    @Html.DisplayFor(modelItem => item.Date)
                                </td>

                                <td>
                                    @Html.DisplayFor(modelItem => item.Car.Kenteken)
                                </td>

                                <td>
                                    @Html.DisplayFor(modelItem => item.DepartureLocation)
                                </td>

                                <td>
                                    @Html.DisplayFor(modelItem => item.ArrivalLocation)
                                </td>

                                <td>
                                    @Html.DisplayFor(modelItem => item.Distance)
                                </td>

                                <td>
                                    @Html.DisplayFor(modelItem => item.Allowance)
                                </td>
                                <td>
                                    @Html.ActionLink("Edit", "Edit", new { id = item.CarId }, new { @class = "btn btn-white btn-sm" })
                                    @Html.ActionLink("Delete", "Delete", new { id = item.CarId }, new { @class = "btn btn-white btn-sm" })
                                    @Html.ActionLink("Copy", "CopyTripRegistrationModal", "TripRegistration", new { registrationId = item.RegistrationID }, new { @class = "img-btn-addnote modal-link btn btn-white btn-sm" })
                                </td>
                            </tr>
                        }
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

登记名单
@ActionLink(“新建”、“创建”、null、新建{@class=“btn btn primary btn xs”})
@DisplayNameFor(model=>model.Date)
@DisplayNameFor(model=>model.Car.Kenteken)
@DisplayNameFor(model=>model.DepartureLocation)
@DisplayNameFor(model=>model.ArrivalLocation)
@DisplayNameFor(model=>model.Distance)
@DisplayNameFor(model=>model.amount)
@foreach(模型中的var项目)
{
@DisplayFor(modelItem=>item.Date)
@DisplayFor(modeleItem=>item.Car.Kenteken)
@DisplayFor(modelItem=>item.DepartureLocation)
@DisplayFor(modelItem=>item.ArrivalLocation)
@DisplayFor(modelItem=>item.Distance)
@DisplayFor(modelItem=>item.Amount)
@ActionLink(“编辑”,“编辑”,新的{id=item.CarId},新的{@class=“btn btn white btn sm”})
@ActionLink(“Delete”,“Delete”,new{id=item.CarId},new{@class=“btn btn white btn sm”})
@ActionLink(“复制”、“CopyTripRegistrationModal”、“TripRegistration”、新建{registrationId=item.registrationId}、新建{@class=“img btn addnote modal link btn btn white btn sm”})
}


Javascript

<script>
$(function () {
    $('body').on('click', '.modal-link', function (e) {
        e.preventDefault();
        $(this).attr('data-target', '#modal-container');
        $(this).attr('data-toggle', 'modal');
    });

    $('body').on('click', '.modal-close-btn', function () {
        $('#modal-container').modal('hide');
    });

    debugger;
    $("#modal-container").on("hidden.bs.modal", function () {
        $(".modal-body").removeData();
    });
});

$(函数(){
$('body')。在('click','modal link',函数(e)上{
e、 预防默认值();
$(this.attr('data-target','#modal container');
$(this.attr('data-toggle','modal');
});
$('body')。在('click','上。模式关闭btn',函数(){
$(“#模态容器”).modal('hide');
});
调试器;
$(“#模态容器”).on(“hidden.bs.modal”,函数(){
$(“.modal body”).removeData();
});
});

局部视图

<div class="modal-body">
        @using (Html.BeginForm("Create", "TripRegistration"))
        {
            @Html.AntiForgeryToken()

            <div class="form-horizontal">

                @Html.ValidationSummary(true)
                @Html.HiddenFor(model => model.CarId)

                <div class="form-group">
                    @Html.LabelFor(model => model.Date, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => Model.Date, new { htmlAttributes = new { @class = "form-control" } })
                        @Html.ValidationMessageFor(model => model.Date)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.DepartureLocation, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.DepartureLocation)
                        @Html.ValidationMessageFor(model => model.DepartureLocation)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.DepartureZipcode, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.DepartureZipcode)
                        @Html.ValidationMessageFor(model => model.DepartureZipcode)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.ArrivalLocation, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.ArrivalLocation)
                        @Html.ValidationMessageFor(model => model.ArrivalLocation)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.ArrivalZipcode, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.ArrivalZipcode)
                        @Html.ValidationMessageFor(model => model.ArrivalZipcode)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.Distance, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.Distance)
                        @Html.ValidationMessageFor(model => model.Distance)
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <button type="button" class="btn btn-white" id="cancel">Close</button>
                        <button type="submit" class="btn btn-primary">Copy registration</button>
                    </div>
                </div>
            </div>
        }
    </div>

@使用(Html.BeginForm(“创建”、“TripRegistration”))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.HiddenFor(model=>model.CarId)
@LabelFor(model=>model.Date,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.Date,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.Date)
@LabelFor(model=>model.DepartureLocation,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.DepartureLocation)
@Html.ValidationMessageFor(model=>model.DepartureLocation)
@LabelFor(model=>model.DepartureZipcode,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.DepartureZipcode)
@Html.ValidationMessageFor(model=>model.DepartureZipcode)
@LabelFor(model=>model.arrivalocation,新的{@class=“controllabel col-md-2”})
@Html.EditorFor
<div class="modal-body">
        @using (Html.BeginForm("Create", "TripRegistration"))
        {
            @Html.AntiForgeryToken()

            <div class="form-horizontal">

                @Html.ValidationSummary(true)
                @Html.HiddenFor(model => model.CarId)

                <div class="form-group">
                    @Html.LabelFor(model => model.Date, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => Model.Date, new { htmlAttributes = new { @class = "form-control" } })
                        @Html.ValidationMessageFor(model => model.Date)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.DepartureLocation, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.DepartureLocation)
                        @Html.ValidationMessageFor(model => model.DepartureLocation)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.DepartureZipcode, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.DepartureZipcode)
                        @Html.ValidationMessageFor(model => model.DepartureZipcode)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.ArrivalLocation, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.ArrivalLocation)
                        @Html.ValidationMessageFor(model => model.ArrivalLocation)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.ArrivalZipcode, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.ArrivalZipcode)
                        @Html.ValidationMessageFor(model => model.ArrivalZipcode)
                    </div>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.Distance, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.Distance)
                        @Html.ValidationMessageFor(model => model.Distance)
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <button type="button" class="btn btn-white" id="cancel">Close</button>
                        <button type="submit" class="btn btn-primary">Copy registration</button>
                    </div>
                </div>
            </div>
        }
    </div>
        [NoCache]
    public PartialViewResult CopyTripRegistrationModal(int registrationId)
    {
        var tripRegistration = _tripRegistrationService.getTripRegistrationById(registrationId);
        var tripRegistrationVM = AutoMapper.Mapper.Map<tblTripRegistration, TripRegistrationViewModel>(tripRegistration);
        return PartialView("_CopyTripRegistration", tripRegistrationVM);        
    }
$(function () {

     $('body').on('click', '.modal-link', function (e) {
         e.preventDefault();

         $("#modal-container").remove();
         $.get($(this).attr("href"), function (data) {
                 $('<div id="modal-container" class="modal fade">
                        <div class="modal-content" id="modalbody">' 
                                               + data + '</div></div>').modal();
         });
    });
});