局部视图不工作在ajax调用mvc5

时间:2015-04-04 05:16:35

标签: jquery ajax asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

  

我正在研究实际上为客户创建视图的视图。

     

开"创建"查看,我使用文本框从db中搜索项目,然后在_part(部分视图)上显示它们的详细信息...部分视图操作正确地获取字符串和处理请求,除了在创建视图上显示部分视图数据.... / p>

创建视图:

<form>
    <input type="text" id="enginNo" />
    <input type="button" value="search" id="btnSearch" />
</form>
<div id="info" class="col-md-10">
<script type="text/javascript">
    $(document).ready(function () {
        alert("hola");
        $("#btnSearch").click(function () {
            alert("hola2");
            var enginNo = $('#enginNo').val();
            $.ajax(
                {
                    alert:("ajax called"),
                    type: 'Get',
                    data: { enginNo: enginNo },
                    url: '@Url.Action("CheckRecord")',
                    success: function (result) {
                        $('#result').html(result);
                    }
                });
        });
    });
</script>

返回字符串&#34; enginNo&#34;以下部分查看操作:

public PartialViewResult CheckRecord(string enginNo)
{
    ViewBag.records = db.StockDMs.Where(ve => ve.EngineNumber == enginNo);
    if (Request.IsAjaxRequest())
    {
        return PartialView("_part", ViewBag.records);

    }
    else
        return null;
}

PartialView:

@model SM.CRM.AutosLoan.Models.Core.DomainModels.StockDM

<div>
    @{
        Layout = Request.IsAjaxRequest() ? null : "~/Views/Shared/SMClient.cshtml";
    }
    @foreach (var item in ViewBag.records)
     {
     <dd>
                @item.AutoCompanyBrand.Name
            </dd>

            <dd>
                @item.SMClientBranch.Name
            </dd>
     }

我不知道自己做错了什么,想想是否有人帮忙。谢谢你的时间: - )

1 个答案:

答案 0 :(得分:2)

你的PartialViewResult正在返回html,所以在你的ajax请求中给出dataType:'HTML',如下所示: -

$.ajax({
      type: 'Get',
      data: { enginNo: enginNo },
      url: '@Url.Action("CheckRecord")',
      dataType: 'HTML',  // add this line
      success: function (result) {
             $('#result').html(result);
      }
 });