我是MVC的新手,有人可以帮助我并解释如何从视图中调用控制器方法。
我有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'或其主人,或者没有视图引擎支持搜索到的位置。
我做错了什么,从剃刀视角调用方法的最佳方法是什么?
答案 0 :(得分:7)
您可以使用内置的Action方法从View调用操作。
@Html.Action("actionName", "ControllerName")
答案 1 :(得分:3)
听起来像是打破了你的
return View();
如果您不告诉它去哪里,它会认为该视图与您的操作相同。
所以请尝试
return View("Name of your view");