rbo*_*man 33 asp.net-mvc asp.net-mvc-2
我有一个控制器,从ActionLink调用中被调用两次.
我的主页有一个链接,点击时调用Play控制器上的Index方法.id为100传递给方法.我认为这是造成这个问题的原因.更多关于此的信息.
以下是一些代码段:
主页:
<%= Html.ActionLink("Click Me", "Index", "Play", new { id = 100 }, null) %>
Run Code Online (Sandbox Code Playgroud)
播放控制器:
public ActionResult Index(int? id)
{
var settings = new Dictionary<string, string>();
settings.Add("Id", id.ToString());
ViewData["InitParams"] = settings.ToInitParams();
return View();
}
Run Code Online (Sandbox Code Playgroud)
播放视图:
<%@ 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>
Run Code Online (Sandbox Code Playgroud)
如果我摆脱了Index方法的参数,一切都很好.如果我保留参数,则调用Index方法,并将100作为id.返回View后,第二次调用该方法,参数为null.
我似乎无法弄清楚是什么触发了第二次通话.
我的第一个想法是添加这样的特定路线:
routes.MapRoute(
"Play", // Route name
"Play/{id}", // URL with parameters
new {controller = "Play", action = "Index"} // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
除了制作更漂亮的链接之外,这没有任何效果.
我不知道从哪里开始.
先感谢您.
干草堆
Fra*_*man 63
是否有其他标记可能会意外引用该页面?脚本引用,图像引用,css引用都可能被错误地指向'.' 或当前页面.
在Java Spring Maven项目中追踪该bug的10个小时.
首先在SELECT上我认为Hibernate只是记录了两次,但随后INSERT我认为请求被调用了两次.单步执行代码我发现控制器被调用了两次......
尝试了所有可能的Spring配置,认为上下文被加载了两次或者bean被实例化了两次......
在绝望中,逐个重建项目,最后添加一个HTML和kaboom bug的片段.
<img alt="" src="#" />
Run Code Online (Sandbox Code Playgroud)
尖锐的标志是有罪的,重新加载URL.我知道这个话题已经过时了,但是我用我在互联网上找不到的词来总结我的搜索,以找到同一问题的答案!可以帮助别人......
| 归档时间: |
|
| 查看次数: |
54500 次 |
| 最近记录: |