2015-05-06 27 views
1

這就是控制器我有:如何指定從控制器返回的視圖?

public ActionResult LabPreparation(int? id) 
{ 
    if (id == null) return new HttpNotFoundResult(); 

    var lab = db.Labs.Find(id); 
    if (lab == null) return HttpNotFound(); 

    return View(lab); 
} 
<button type="button" class="btn btn-default" onclick="location.href='@Url.Action("LabPreparation", "Lab", new {id = item.Id})'">Preparation</button> 

實驗室是一個模式,我爲每個實驗室不同的看法。我如何指定視圖,控制器應返回特殊實驗室?

+0

**返回視圖( 「視圖名」,實驗室)* * –

回答

6

指定應該使用的觀點一樣,:

return View("viewname", lab); 

如果視圖是在不同的文件夾,您可以使用完整的路徑:

return View("~/Views/Folder/ViewName.aspx"). 

編輯:

爲了決定要顯示什麼視圖,您可以創建一個將ID鏈接到視圖名稱的字典:

var dictionary = new Dictionary<int, string>(); 
dictionary.Add("1", "ViewName.aspx"); 
etc... 

,並使用類似:

return View(dictionary[id], lab); 

(並添加一些異常處理,當然,例如如果ID不存在)

+0

可能很有用,包括如何返回位於不同子文件夾中的視圖.... –

+0

添加示例... –

+0

問題是,我有大約30個視圖。那樣我應該使用那個代碼30次? – Max

相關問題