加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC控制器正在被调用两次

发布时间:2020-12-15 18:45:26 所属栏目:asp.Net 来源:网络整理
导读:我有一个从ActionLink调用被调用两次的控制器。 我的主页有一个链接,当单击时调用播放控制器上的索引方法。将100的id传递给该方法。我认为这是导致这个问题的原因。以下更多内容 以下是一些代码段: 主页: %= Html.ActionLink(“Click Me”,"Index","Play"
我有一个从ActionLink调用被调用两次的控制器。

我的主页有一个链接,当单击时调用播放控制器上的索引方法。将100的id传递给该方法。我认为这是导致这个问题的原因。以下更多内容

以下是一些代码段:

主页:

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

播放控制器:

public ActionResult Index(int? id)
{
        var settings = new Dictionary<string,string>();

        settings.Add("Id",id.ToString());

        ViewData["InitParams"] = settings.ToInitParams();

        return 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方法的参数,一切都很好。如果我把参数保留在原来的位置,那么Index方法被调用为100作为id。返回View后,方法再次被调用,参数为null。

我似乎无法弄清楚什么是触发第二个呼叫。

我的第一个想法是添加一个特定的路线:

routes.MapRoute(
    "Play",// Route name
    "Play/{id}",// URL with parameters
    new {controller = "Play",action = "Index"} // Parameter defaults
    );

除了做一个漂亮的链接之外,这没有任何效果。

我不知道从这里去哪里。

先谢谢你。

Rick

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读