c# - MVC4 - 如何从 Razor View 调用 Controller 方法

标签 c# asp.net-mvc asp.net-mvc-4 razor

我是 MVC 的新手,有人可以帮我解释一下如何从 View 调用 Controller 方法吗?

我有 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();
} 

内部 View 我尝试用下面的代码调用这个方法,但它不起作用。

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

我收到错误消息:未找到 View “ShowFileContent”或其主视图,或者没有 View 引擎支持搜索的位置。

我做错了什么以及从 Razor View 调用方法的最佳方式是什么?

最佳答案

您可以使用内置的 Action 方法从 View 调用操作。

@Html.Action("actionName", "ControllerName")

关于c# - MVC4 - 如何从 Razor View 调用 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209425/

相关文章:

c# - 桌面上的透明表格

c# - 是否可以根据条件设置临界区?

c# - 想了解多重递归的概念

c# - 将 Umbraco 7 集成到现有的 MVC 4 Web 应用程序中

javascript - 为什么我的按钮点击会执行多次?

c# - ASP.NET MVC4 : Filter search result in same view

c# - 问题解决与 Unity 的依赖关系

c# - CS0103 C# 名称 'Json' 在当前上下文中不存在

asp.net-mvc-4 - Resharper - 移动到资源在 Razor 中不起作用

c# - 如何从 MVC 将数据发布到 Action URL