Vous pouvez retourner un contenu hardcoded au lieu d'une vue:
public ActionResult Contact()
{
return Content("Hello");
}
Vous pouvez retourner JSON:
public ActionResult Contact()
{
return Json(new { Foo = "bar" }, JsonRequestBehavior.AllowGet);
}
Vous pouvez retourner javascript:
public ActionResult Contact()
{
return JavaScript("alert('Hello World');");
}
Vous pouvez diffuser directement un fichier:
public ActionResult Contact()
{
return File(@"c:\work\foo.pdf", "application/pdf", "foo.pdf");
}
Vous pouvez retourner un 404:
public ActionResult Contact()
{
return HttpNotFound();
}
Vous pouvez retourner 401:
public ActionResult Contact()
{
return new HttpUnauthorizedResult();
}
Et si les résultats d'action intégré ne répond pas à vos besoins vous pouvez toujours écrire un personnalisé . Par exemple, un qui retourne XML:
public class XmlResult : ActionResult
{
private readonly object _data;
public XmlResult(object data)
{
if (_data == null)
{
throw new ArgumentNullException("data");
}
_data = data;
}
public override void ExecuteResult(ControllerContext context)
{
var response = context.HttpContext.Response;
response.ContentType = "text/xml";
var serializer = new XmlSerializer(_data.GetType());
serializer.Serialize(response.OutputStream, _data);
}
}
puis:
public ActionResult Contact()
{
return new XmlResult(new { Foo = "Bar" });
}
Comme vous pouvez le voir il y a beaucoup de choses que vous pourriez faire. La question est: que voulez-vous faire?
Waouh merci pour ça! Super utile. Pour répondre à la question à la fin, je n'ai aucune idée de ce que je veux faire! Je fais en quelque sorte un projet final pour m'enseigner tout ce que je peux sur MVC3 et les choses liées et je voulais incorporer plus de choses autres que des vues droites. –
Pouvez-vous ajouter la vue partielle? Très pratique pour les appels JavaScript. :) – Silvermind