我是MVC的新手。我有一个带有一些锚标签的视图,我也想添加一个 onclick。我需要这个 onclick 事件来触发模型中的方法调用。我想在没有任何 ajax 的情况下做到这一点。
我已经尝试过<a onclick="<%Model.Method%>">
但这会在我需要它触发点击时触发加载时触发该方法。
不使用Ajax的情况下从java脚本调用该方法,那么你可以使用以下代码来实现它:
查看代码:
<a onclick="testfunc()">clickme</a>
Javascript 代码:
<script type="text/javascript">
function testfunc() {
var url = "../Home/About"; //Here it is controllername/ActionName
window.location.href = url;
}
</script>
我希望这是你想要的,请让我知道你的想法或反馈
谢谢卡尔西克
接受的答案只是使用 JavaScript 将用户重定向到另一个 URL 或控制器/操作。
一个更好、更像 MVC 的解决方案是简单地在视图中使用 MVC 提供的 UrlHelper 来创建通往所需操作的路由:
<a href="@Url.Action("About", "Home")">clickme</a>
这将导致一个常规链接将用户发送到/Home/About
并且根本不需要JavaScript。
Url.Action
方法的签名为:
public virtual string Action (string actionName, string controllerName);
请参阅 https://learn.microsoft.com/en-us/dotnet/api/system.web.mvc.urlhelper.action?view=aspnet-mvc-5.2#system-web-mvc-urlhelper-action(system-string-system-string( 了解其他重载和文档。
我遇到了同样的问题,我能够通过将IActionResult方法(删除(和目录放在双括号中来解决,如下所示
希望这对你有用