2013-01-31 20 views
5

Mevcut bir Görünüm'ü bir Eylem'e nasıl ekleyebilirim? Demek istediğim, bu çok View'u bir eyleme zaten ekledim, ama istediğim ikinci bir eyleme eklemek.Varolan bir Görünüm bir denetleyici eylemine nasıl eklenir?

Örnek: İndeks ve Görünüm, aynı ad, adlı bir Action adında bir işlem yapıyorum, sağ tıkla, görünüm ekle ..., ama şimdi, nasıl eklenir? Index2 adlı bir eylemi, bunun nasıl gerçekleştirileceğini varsayalım? Mümkün ...

//this Action has Index View attached 
public ActionResult Index(int? EntryId) 
{ 
    Entry entry = Entry.GetNext(EntryId); 

    return View(entry); 
} 

//I want this view Attached to the Index view... 
[HttpPost] 
public ActionResult Rewind(Entry entry)//...so the model will not be null 
{ 
    //Code here 

    return View(entry); 
} 

ben googled ve bir doğru cevap bulamıyorum: Burada

kodu?

cevap

5

Eğer görünümlere eylemleri "attach" olamaz ama sen Controller.View Yöntem

public ActionResult MyView() { 
    return View(); //this will return MyView.cshtml 
} 
public ActionResult TestJsonContent() { 
    return View("anotherView"); 
} 

http://msdn.microsoft.com/en-us/library/dd460331%28v=vs.98%29.aspx

+0

içerik menüsü bana Ekleme Görünüm gösterir: Burada

public class TestController : Controller { // // GET: /Test/ public ActionResult Index() { ViewBag.Message = "Hello I'm Mr. Index"; return View(); } // // GET: /Test/Index2 public ActionResult Index2() { ViewBag.Message = "Hello I'm not Mr. Index, but I get that a lot"; return View("Index"); } } 

View (Index.cshtml) 'dir: Farklı bir görünümünü belirlemek için View aşırı kullanabilirsiniz Seçenek, tamam. Bu yüzden aynı Görünümü başka bir eyleme ekleyemiyorum? –

+0

projenize yeni bir görünüm ekleyebilir ve daha sonra –

+0

yukarıdaki kodu kullanarak iade edebilirsiniz Yeni bir Görünüm eklemek istemiyorum, farklı bir adda başka bir eylemle varolan bir görünümü yeniden kullanmak istiyorum ... –

4

bu yardımı mu kullanarak bir eylem yöntemi ile döndürülecek istiyorum görünümüne tanımlayabilirsiniz? Birazdan Eylem tıkladığınızda

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

<p>@ViewBag.Message</p> 
+1

Örneğinizde View ("Index", giriş); –

+0

Aslında, hayır ... Modeli eylemin argümanı olarak geçmem gerekiyor. –

+1

"// Code here", 'Return View (giriş) 'altındaki satırın yerine' return View ("Index", entry); –

İlgili konular