gpt4 book ai didi

c# - 如何提供模型以供查看?

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:02 25 4
gpt4 key购买 nike

这是我的代码:

        [HttpGet]
public FileContentResult GetCalenderView()
{
StringWriter sw = new StringWriter();
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(this.ControllerContext, "GetCalenderView");
ViewContext viewContext = new ViewContext(this.ControllerContext, viewResult.View, this.ViewData, this.TempData, sw);
viewResult.View.Render(viewContext, sw);

var stringResult = sw.GetStringBuilder().ToString();

byte[] byteArray = Encoding.ASCII.GetBytes(stringResult);

return File(byteArray, "application/octet-stream", "Month.xls");
}

这是我在网上找到的。它的作用是,以字符串格式提供 View ,并将其作为 excel 文件发送。这是一个强类型 View 。

我的问题是,如何为这个 View 提供模型?

最佳答案

设置您传入的 ViewData 的 Model 属性。

    [HttpGet]
public FileContentResult GetCalenderView()
{
var viewData = ViewData; // Ideally copy this or make a fake of it
viewData.Model = new object(); // Make this the model you want to pass in

StringWriter sw = new StringWriter();
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(this.ControllerContext, "GetCalenderView");
// Note that we're passing in viewData instead of ViewData
ViewContext viewContext = new ViewContext(this.ControllerContext, viewResult.View, viewData, this.TempData, sw);
viewResult.View.Render(viewContext, sw);

var stringResult = sw.GetStringBuilder().ToString();

byte[] byteArray = Encoding.ASCII.GetBytes(stringResult);

return File(byteArray, "application/octet-stream", "Month.xls");
}

关于c# - 如何提供模型以供查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15028258/

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