当我在MVC应用程序中请求Ajax数据时,为什么我的模态局部视图为空?

时间:2018-08-16 15:54:09

标签: jquery ajax asp.net-mvc

在我的MVC应用程序中,我有一个可以单击的按钮,该按钮会触发bootstrap 4 modal(局部视图)。使用Ajax会调用一个控制器以返回模型数据,以供视图填充一些文本框。尽管在弹出模式对话框时ajax调用成功运行,但所有字段均为空。

这是我的代码。这是单击按钮时运行的功能:

editTab功能

function editTab(id) {   
    if (id != undefined) {    
        $.ajax({
            type: "GET",
            url: "/Positions/_TabsEdit/" + id,
            success: function (responseData) {  
                console.log("Successfully GOT TabEdit data.");
                console.log(responseData)
            },
            error: function (jqXHR, textStatus, errorThrown) {
                console.log(jqXHR.status);
                console.log(textStatus);
                console.log(errorThrown);
            }
        });
    } else {
        //whatever    
    }
}

这是我的视图,局部视图就位。

Index.cshtml

<div class="card">
    <div class="card-body">
       <button id="modal" data-toggle="modal" data-target="#modal_editTabs">Triggers Bootstrap Modal</button>
    </div>
</div>
@Html.Partial("_TabsEdit")

PartialView

@model MyProject.Models.Tab    
<div class="modal fade" id="modal_editTabs" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-xl">
        <div class="modal-content">
            <!-- Modal Header -->
            <div class="modal-header">
                <h4 class="modal-title">@ViewBag.Title</h4>
                <button type="button" class="close" data-dismiss="modal">&times;</button>
            </div>

            <!-- Modal body -->
            <div class="modal-body">
                @Html.DisplayFor(m => m.Id)
                @Html.DisplayFor(m => m.TabName)
            </div>
        </div>
    </div>
</div>

控制器

  public ActionResult _TabsEdit(int Id)
    {
        Tab tab = unitOfWork.TabRepository.GetByID(Id);
        return PartialView("_TabsEdit", tab);
    }

当我检查代码时,可以看到ajax调用成功并且返回了数据,但是我不知道为什么我的模式字段为空。我怀疑我设置不正确,有人可以建议吗?

0 个答案:

没有答案