2014-03-05 84 views
5

我是新的MVC,有人可以幫助我,並解釋如何從視圖調用控制器方法。MVC4 - 如何從剃刀視圖調用控制器方法

我有HomeController和它裏面我有方法ShowFileContent()。

[HttpPost] 
public ActionResult ShowFileContent() 
{ 
    string filepath = Server.MapPath("\\Files\\Columns.txt");  
    try 
    { 
     var lines = System.IO.File.ReadAllLines(filepath); 

     foreach (var line in lines) 
     { 
      ViewBag.FileContent += line + "\n"; 

     } 
    } 
    catch (Exception exc) 
    { 
     ViewBag.FileContent = "File not found"; 
    } 

    return View(); 
} 

內部視圖我試着用代碼低音調用此方法,但它不起作用。

@using (Html.BeginForm("ShowFileContent", "Home")) 
{ 
    <input type="submit" value="Show File" style='width:300px'/>   
} 
<h2>@Html.Raw(ViewBag.FileContent.Replace("\n", "</br>"))</h2> 

我收到錯誤:未找到'ShowFileContent'或其主人或未查看引擎支持搜索到的位置。

我做錯了什麼是最好的方式從剃刀視圖中調用方法?

+1

是你的控制器叫「HomeController」? –

+0

yes,HomeController – msharank

+0

嘗試指定FormMethod,即'Html.BeginForm(「ShowFileContent」,「Home」,new {},FormMethod.Post,new {}))' –

回答

2

這聽起來好像崩斷您

return View(); 

如果你不告訴它到哪裏去它認爲的觀點被稱爲與您的行動。

所以不是試圖

return View("Name of your view"); 
+0

是的,那就是問題所在。非常感謝你 !!我試圖找出最後2小時。 – msharank

7

您可以使用內置的操作方法從查看調用行動。

@Html.Action("actionName", "ControllerName") 
相關問題