RazorPage通常返回void,任务,IActionResult,例如
public Task OnGet() { }
public Task<IActionResult> OnGet() { }
也有可能让处理程序返回Json,例如
public Task<JsonResult> OnGetAlso() { }
但是在某些情况下,我希望处理程序返回原始字符串,但是我找不到一种简单的方法来实现此目的。
public Task<string> OnGetSomeString()
{ return "something"; }
但是我总是会出错不支持的处理程序方法返回类型。这可能吗?谢谢
答案 0 :(得分:1)
使用ContentResult
返回string
内容:
public IActionResult OnGetSomeString()
{
return Content("something");
}
答案 1 :(得分:0)
您需要包括TextOutputFormatter
:
services.AddMvc(options =>
{
options.OutputFormatters.Add(new TextOutputFormatter());
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
但是,默认情况下实际上应该包含它,这有点奇怪。尽管如此,为了返回字符串,您仍然需要TextOutputFormatter
,因此,如果返回的字符串不起作用,则它一定不能存在。也许您明确删除了它?
答案 2 :(得分:0)
@Chris Pratt感谢您的帮助。这似乎可行
public IActionResult OnGetTest()
{
return new ObjectResult("test");
}