首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ajax调用后不会呈现部分视图

ajax调用后不会呈现部分视图
EN

Stack Overflow用户
提问于 2017-06-02 02:16:37
回答 4查看 1.4K关注 0票数 0

我需要传递对象列表。我正在传递抛出的数据ajax调用,ajax按预期返回结果,因此ajax调用获得了正确的结果,但不会呈现部分视图。

控制器

代码语言:javascript
运行
复制
[HttpPost]
public ActionResult GetXlFile()
{
    List<ListMatchDetails> lstPreview = new List<ListMatchDetails>();

    if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
    {
        var xlFile = System.Web.HttpContext.Current.Request.Files["FileToPreview"];
        HttpPostedFileBase filebase = new HttpPostedFileWrapper(xlFile);
        if (null != filebase && filebase.ContentLength > 0)
        {
            if (String.Compare(filebase.ContentType, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", true, System.Globalization.CultureInfo.InvariantCulture) == 0)
            {
                using (Stream stream = filebase.InputStream)
                {
                    IExcelDataReader reader = null;

                    if (filebase.FileName.EndsWith(".xls"))
                    {
                        reader = ExcelReaderFactory.CreateBinaryReader(stream);
                    }
                    else if (filebase.FileName.EndsWith(".xlsx"))
                    {
                        reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                    }

                    reader.IsFirstRowAsColumnNames = true;
                    DataSet dsResult = reader.AsDataSet();
                    DataTable dtResult = dsResult.Tables[0];
                    if (dtResult.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dtResult.Rows)
                        {
                            ListMatchDetails lmd = new ListMatchDetails();
                            lmd.FirstName = (dr[0] != DBNull.Value) ? dr[0].ToString() : string.Empty;
                            lmd.LastName = (dr[1] != DBNull.Value) ? dr[0].ToString() : string.Empty;

                            lstPreview.Add(lmd);
                        }
                    }
                    reader.Close();
                }
            }
        }
    }

    return PartialView("_ExcelGrid", lstPreview);
}

视图

代码语言:javascript
运行
复制
@using app.Models;
@model IEnumerable<ListMatchDetails>

@{
    if (Model.Count() > 0)
    {
        ListMatchDetails row = Model.FirstOrDefault();
        <table class="table table-hover table-responsive scrollable table-striped ">
            <thead id="tableHeader">
                <tr>

                    <td>
                        @Html.LabelFor(x => row.FirstName)
                    </td>
                    <td>
                        @Html.LabelFor(x => row.LastName)
                    </td>

                </tr>
            </thead>
            <tbody class="pre-scrollable">

                @foreach (var record in Model)
                {
                    <tr>

                        <td>
                            @Html.ValueForModel(record.FirstName) 

                        </td>
                        <td>
                            @Html.ValueForModel(record.LastName)
                        </td>

                    </tr>
                }
            </tbody>
        </table>
    }
}

jquery:

代码语言:javascript
运行
复制
$('#btnPreview').click(function () {
                var formData = new FormData();
                var files = $("#btnbrowse").get(0).files;
                if (files.length > 0) { formData.append("FileToPreview", files[0]); }
                $.ajax({
                    url: '/ListMatch/GetXlFile',
                    type: 'POST',
                    dataType: 'json',
                    data: formData,
                    processData: false,
                    contentType: false,
                    success: function (result) {
                        //$('#record').html(result)
                        $('._ExcelGrid').json(result);
                    },
                    error: function () {
                        //alert('Click Called');
                    }
                });
            });
EN

Stack Overflow用户

发布于 2017-06-02 02:53:31

看起来你需要使用$('#record').html(result)。确保你有像这样的东西

代码语言:javascript
运行
复制
<div id="record">

</div>
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44314461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档