2015-11-21 562 views
2

這將是非常簡單的,但asp.net mvc中的response.write是什麼?

什麼是在asp.net net MVC中使用傳統的webforms「response.write」的最佳方式。特別是mvc5。

讓我們說:我只想寫一個簡單的字符串從控制器屏幕。

response.write是否存在於mvc中?

謝謝。

+2

你可以返回一個普通的字符串從控制器行動 –

回答

8

如果方法的返回類型是ActionResult,則可以使用Content方法返回任何類型的內容。

public ActionResult MyCustomString() 
{ 
    return Content("YourStringHere"); 
} 

或者乾脆

public String MyCustomString() 
{ 
    return "YourStringHere"; 
} 

Content方法,可以返回其他內容類型爲好,只是通過內容類型爲第二PARAM。

return Content("<root>Item</root>","application/xml"); 
3

正如@Shyju說,你應該使用Content方法,但通過創建一個自定義操作結果的另一種方式,你的自定義操作,結果可能看起來像這樣::

public class MyActionResult : ActionResult 
{ 
    private readonly string _content; 

    public MyActionResult(string content) 
    { 
     _content = content; 
    } 
    public override void ExecuteResult(ControllerContext context) 
    { 
     context.HttpContext.Response.Write(_content); 
    } 
} 

然後你可以使用它,這樣:

public ActionResult About() 
    { 
     ViewBag.Message = "Your application description page."; 

     return new MyActionResult("content"); 
    }