gpt4 book ai didi

asp.net-mvc - MVC Controller 被调用两次

转载 作者:行者123 更新时间:2023-12-03 08:34:18 26 4
gpt4 key购买 nike

我有一个从 ActionLink 调用中被调用两次的 Controller 。

我的主页有一个链接,单击该链接时会调用 Play Controller 上的 Index 方法。将 100 的 id 传递到该方法中。我认为这就是导致问题的原因。更多关于这个下面。

下面是一些代码片段:

主页:

<%= Html.ActionLink("Click Me", "Index", "Play", new { id = 100 }, null) %>

播放 Controller :
public ActionResult Index(int? id)
{
var settings = new Dictionary<string, string>();
settings.Add("Id", id.ToString());
ViewData["InitParams"] = settings.ToInitParams();
return View();
}

播放 View :
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

(html <head> omitted for brevity)

<body>
<form id="form1" runat="server" style="height:100%">
Hello
</form>
</body>

如果我去掉 Index 方法的参数,一切都很好。如果我将参数保留在原位,则使用 100 作为 id 调用 Index 方法。返回 View 后,该方法被第二次调用,参数为 null。

我似乎无法弄清楚是什么触发了第二个电话。

我的第一个想法是添加这样的特定路线:
routes.MapRoute(
"Play", // Route name
"Play/{id}", // URL with parameters
new {controller = "Play", action = "Index"} // Parameter defaults
);

除了制作更漂亮的链接之外,这没有任何影响。

我不知道从这里去哪里。

最佳答案

是否有任何其他标记可能会意外引用该页面?脚本引用、图像引用、css 引用,都可能被错误地指向“.”。或当前页面。

关于asp.net-mvc - MVC Controller 被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2751138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com