gpt4 book ai didi

ASP.NET MVC 相当于 ASP.NET WebForms 中的 "override void Render"

转载 作者:行者123 更新时间:2023-12-02 11:14:17 25 4
gpt4 key购买 nike

与 ASP.NET WebForms 中的“覆盖 void Render”等效的 ASP.NET MVC 是什么?在将输出发送给客户之前,您在哪里有机会进行最后一刻的处理?

例如,我不会在生产代码中使用它,但说明了清理 <title><head>放置在 WebForms 应用程序的 MasterPage 中时的整个站点的标记。

    protected override void Render(HtmlTextWriter writer)
{
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
base.Render(htw);
htw.Close();
string h = sw.ToString();
string fhtml = h.Replace("<title>\r\n\t", "\n<title>")
.Replace("\r\n</title>", "</title>")
.Replace("</head>","\n</head>");
// write the new html to the page
writer.Write(fhtml);
}

在 ASP.NET MVC 中处理最终文本渲染的最佳方法是什么?

更新:
因此,看看 Andrew Hare 提到的链接(图表),您似乎可以在 View 引擎中执行此操作。您可以将一些东西固定在默认 View 引擎上或改变默认 View 引擎的工作方式,还是必须替换整个东西?

最佳答案

这不是 MVC 的工作方式。

所有“onprerender”代码都在 View 中完成。当您将数据从 Controller 传递到 View 时,您应该已经完成​​了显示整个页面所需的所有处理。

唯一的异常(exception)是模型在被 View 探测时仍可能进行一些处理。

这可能包括设置部分所需的变量以自行打开或关闭等。

关于ASP.NET MVC 相当于 ASP.NET WebForms 中的 "override void Render",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/532856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com