繁体   English   中英

如何使用 ASP.NET MVC C# Html 从视图中调用控制器中的函数

[英]How to call a function in the controller from the view using ASP.NET MVC C# Html

我正在尝试在视图和控制器之间建立一个简单的连接。 我在视图中有一个按钮

<button value="submit" onclick="location.href='@Url.Action("submit", "Home")'" >Submit</button>

我在这里有控制器功能

public ActionResult submit()
{
    Console.WriteLine("hello test");
    return View();
}

当我调试它时调用该函数,但是当它通过它时会导致未处理的异常。

我对此还是个新手,还没有找到一种简单的方法来从不会尝试更改到新页面的视图中调用控制器上的函数。 感谢您的任何帮助。

如果你使用

return View();

在控制器方法中,您需要确保您有一个 .cshtml 视图文件。 在您的情况下,我认为您需要添加 submit.cshtml 文件。

你的错误很可能是因为你

A: 没有名为 submit 的视图,并且由于您没有在控制器返回中命名视图,因此它正在寻找它找不到的视图或

B:您没有返回视图期望的视图模型,张贴您获得的异常将更容易帮助您解决这个问题!

您将需要使用 java 脚本来实现您想要的。 没有办法在不引起页面刷新的情况下调用控制器中的函数,即使您不返回视图,或者返回相同的视图,它最终会进行整页刷新。

您需要考虑使用像 fetch() API 这样的异步 java 脚本调用,这将允许您触发控制器中的方法,然后您可以将此方法的结果作为 json 返回,或者通过重新渲染局部视图。 除非我误解了你想要达到的目标!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM