我一直在努力理解在线教程,我很难过。 有人可以告诉我发送“Hello”文本的位置吗?消息是否直接发送到浏览器而不是放在页面上?
public class GoHomeController:Controller
{
public string Index()
{
return "Hello";
}
}
答案 0 :(得分:1)
这是怎么回事?您的控制器操作需要具有ActionResult
的返回类型,此类的许多子类允许各种类型的响应,但是如果您愿意,您总是可以使用暴力影响。例如“
public ActionResult Index()
{
Response.Write("hello world");
return null;
}
上面的代码直接写入Response流,在我的示例中,我返回null。这表明MVC系统不需要执行ActionResult,通常这是指定View的位置,View也将被读取,解析并写入Response流。
但是典型的控制器操作确实有返回值,例如,这里是我如何返回JSON,请记住View只是一个抽象,允许您控制写入Response
流的内容。
public ActionResult Index()
{
return Json( new { Message="Hello world"});
}
然后有典型的ActionResult将输出定向到.cshtml文件:
public ActionResult Index()
{
return View();
}
这将使用绑定到此控制器命名空间的Response
文件写入Index.cshtml
流,或者我可以指定.cshtml的名称:
public ActionResult Index()
{
return View("HelloWorld"); //<-- looks for HelloWorld.cshtml
}