c# - 通过 JavaScript 和页面方法设置 HTML 是否有限制?

标签 c# javascript jquery asp.net

我有一个 ASP.NET 和 C# 页面,它使用一些客户端页面方法,例如:

<!-- language: lang-js -->

    function showDetails(layerName, transDate) {
        PageMethods.GetTransactionDetails(transDate, function (result) {
            $(layerName).html(result);
        });

一般来说,此代码工作得很好,会拉回交易列表(以 HTML 格式)并相应地显示它。

但是,在数据较多的日子里,此代码不会显示任何内容。有些数据集可能只有 30 行左右,但显示效果很好。但是当我有 120 行之类的内容时,根本不会显示。

所以我猜测我在 HTML 显示方面遇到了某种限制。我使用的上述任何代码是否存在相关限制?关于为什么它根本不显示任何内容有什么想法吗?

最佳答案

您似乎达到了内部 json 序列化程序(JavaScriptSerializer 类)接受的 JSON 字符串的最大长度。默认值为 4 MB(2097152 个字符)。引用:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.maxjsonlength(v=vs.110).aspx

您可以在 web.config 中覆盖此设置并将其设置为更高的值:

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization maxJsonLength="5242880" /> <!-- 10 MB Approx -->
        </webServices>
    </scripting>
</system.web.extensions>

脚注:向客户端返回如此大的数据 block 可能不是一个好主意。

关于c# - 通过 JavaScript 和页面方法设置 HTML 是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998100/

相关文章:

c# - 在没有 GUI 的情况下在运行时显示数据?

c# - 使用 ServiceBus SubscriptionClient 时出现 RenewLock 错误

c# - try/catch/throw 和 try/catch(e)/throw e 的区别

javascript - 如何使用 p5.js 清除部分缓冲图像

javascript - 计算谷歌应用程序脚本中日期之间的年、月、日

javascript - 禁用水平滚动

c# - 将所有单元格从 datagridview 更新到数据库

javascript - Gruntfile.js - 未找到任务 "default"

javascript - 在每个列表项中搜索项目

javascript - 重叠jquery鼠标悬停事件