【问题标题】:Does Html.Raw increase the size of the pageHtml.Raw 是否会增加页面的大小
【发布时间】:2018-10-30 14:18:45
【问题描述】:

我正在开发一个 MVC 项目。我必须通过 Ajax 调用使用数据动态添加元素。我必须在 JavaScript 中使用服务器端变量(字典)。所以在 Ajax 成功回调中,我使用这样的服务器端变量,

translatedDictionary = @Html.Raw(Json.Encode(TranslationDictionary));

TranslationDictionary 是我的服务器端字典类型变量,translationDictionary 是我的 JavaScript 变量。我的问题是这样做是否会在页面首次呈现时增加页面大小,我的意思是使用“Html.Raw”会对页面加载时间产生任何影响。

【问题讨论】:

  • 它将值作为 html 直接插入到页面中,因此它会通过它必须加载的额外字符数增加加载时间 - 如果你在 ajax 成功回调中使用它 - 当然你应该只是正在使用 js,不需要 html raw
  • 但是我在 Ajax 成功回调中插入了值,它仍然会影响 Ajax 调用之前的页面大小吗?
  • Html.Raw 在页面呈现时被调用,因此无论你在做什么都会在页面呈现时输出 - 如果你试图使用成功回调中的 var,那么你需要使用 js并使用您的 ajax 响应 - 最好显示您的整个 ajax 请求,以便我们可以在上下文中查看代码
  • 我没有从 Ajax 响应中得到它。它只是我在呈现页面时获得的服务器端变量。在 Ajax 成功时,我需要此服务器端变量的一些值,这就是我在 Ajax 成功回调中使用它的原因。
  • 然后你在页面加载时渲染输出(它在你的成功调用中并不重要 - 它仍然在页面加载时呈现)所以我建议你回到我的初步评论

标签: javascript c# asp.net-mvc html


【解决方案1】:

您将要等待的唯一时间是服务器端机器处理此函数调用Json.Encode(TranslationDictionary)所需的时间间隔。然后,在任务完成后,它会向客户端返回一个 HTML 页面,这将呈现给用户。

所以这些时间间隔可能因任务而异

在您的情况下,由于您使用 ajax 来请求该页面,因此 ajax 将等待回调,因为服务器需要处理 Json.Encode(TranslationDictionary) 以及处理其他技术内容。

【讨论】:

    猜你喜欢
    • 2012-04-19
    • 2012-07-19
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多