还有其他方法可以从控制器返回原始HTML吗?而不是只使用viewbag.如下:
public class HomeController : Controller { public ActionResult Index() { ViewBag.HtmlOutput = "<HTML></HTML>"; return View(); } } @{ ViewBag.Title = "Index"; } @Html.Raw(ViewBag.HtmlOutput)
解决方法
这样做没有多大意义,因为View应该生成html,而不是控制器.但无论如何,你可以使用
Controller.Content method,它可以指定结果html,内容类型和编码
public ActionResult Index() { return Content("<html></html>"); }
或者你可以使用asp.net-mvc框架内置的技巧 – 直接使动作返回字符串.它会将字符串内容传递到用户的浏览器中.
public string Index() { return "<html></html>"; }
实际上,对于除ActionResult之外的任何操作结果,框架会尝试将其序列化为字符串并写入响应.