首頁 >後端開發 >C++ >如何在 .NET Core 中將視圖渲染為字串?

如何在 .NET Core 中將視圖渲染為字串?

DDD
DDD原創
2025-01-04 11:53:45640瀏覽

How to Render a View as a String in .NET Core?

如何在.NET Core 中以字串形式傳回視圖

概述

以字串形式傳回視圖在各種情況下都很傳有用,例如產生報表或電子郵件時。本文提供了一種在 .NET Core 中將視圖轉換為字串的解決方案,解決了編譯錯誤並提供了替代方法。

將現有程式碼轉換為 .NET Core

提供的程式碼假設使用System.Web.Mvc,它在 .NET Core 中不可用。要適應它,您需要以下內容:

  • 安裝版本至少為 1.1.0 的 Microsoft.AspNetCore.Mvc NuGet 套件。
  • 將 Controller 替換為 ControllerBase。
  • 使用 using 新增 ViewEngines.Engines Microsoft.AspNetCore.Mvc.ViewEngines;.
  • 刪除對 System.Web.Routing 的依賴。
  • 使用 IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;擷取檢視引擎。

替代擴充方法

另一種方法涉及建立利用.NET Core 某些功能的控制器擴充方法:

public static async Task<string> RenderViewAsync<TModel>(this Controller controller, string viewName, TModel model, bool partial = false)
{
    // ... Implement the logic as described in the provided code
}

用法

要使用此方法,您只需從您的控制器:

var viewHtml = await this.RenderViewAsync("Report", model);

以上是如何在 .NET Core 中將視圖渲染為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn