asp.net-mvc – 如何在我的视图中将HTML从MVC控制器返回到div

我正在尝试将生成HTML字符串返回到视图,以动态生成带有结果的HTML表.我无法获得返回的HTML字符串任何建议和帮助非常感谢.

这是我的控制器代码

public ActionResult ValidateTrams()
    {
        string html = "";
        if (Request.Files.Count == 0 || Request.Files[0].ContentLength == 0)
        {
        }

        else
        {
            html = ProcessTextFile(Request.Files[0].InputStream);
        }

        return View(html);
    }

我试图像这样在jquery中获取这个返回的结果

$('#tramsView').live('click',function () {

$.ajax({
    url: '/Booking/ValidateTrams',type: 'POST',dataType: 'jsonp',success: function (data) {
        alert(data);
        $('#TramsViewFrame').html(data);
    },error: function (jqxhr,textStatus,errorThrown) {
        $(window).hideWaitScreen();
        if (confirm(errorThrown)) { window.location.reload(); }
    }
});

});

最后,下面是表单的CSHTML.在这里,我正在从提示按钮类型的表单中读取文件

<form action="#" method="post" enctype="multipart/form-data" class="forms" name="form"
            id="frmvalidate">
            <table>
                <tr>
                    <td>
                        <input type='file' name='trams' id='ValidatetramsFile' />
                    </td>
                </tr>
                <tr>
                    <td>
                        <br />
                        <input name="cbDisplayUmatched" id="cbDisplayUmatched" type="checkBox" value="" checked="true" />
                        <label style="text-decoration: none; outline: none; font-size: 1.1em; padding: 3px 0 0px 0;">
                            Display rows that were <strong>NOT</strong> parsed</label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <br />
                        <div class="buttons">
                            <button type="submit" value="VIEW" class="ui-state-default ui-corner-all" id="tramsView">VIEW</button>
                        </div>
                    </td>
                </tr>
            </table>
            </form>

感谢您的时间,非常感谢您的帮助.亲切的问候!!!

解决方法

听起来好像你的表单仍在提交正常的回发,所以你正在做的任何异步调用都会丢失.

尝试阻止使用以下内容进行默认表单提交:

$('#tramsView').live('click',function (evt) {

    evt.preventDefault();

    // ... rest of your code 

});

顺便提一下,在这种情况下,如果你正在做的只是更新#TramsViewFrame上的html,你可以使用稍微简单的$.load()方法

$('#tramsView').live('click',function (evt) {
    evt.preventDefault();
    $('#TramsViewFrame').load('/Booking/ValidateTrams');
});

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...