У меня есть контроллер, который дважды вызывается из вызова ActionLink.Контроллер MVC вызывается дважды
На моей домашней странице есть ссылка, которая при нажатии вызывает метод Index на контроллере воспроизведения. Идентификатор 100 передается в метод. Я думаю, именно это и вызывает проблему. Подробнее об этом ниже.
Вот некоторые фрагменты кода:
Главная страница:
<%= Html.ActionLink(“Click Me”, "Index", "Play", new { id = 100 }, null) %>
Play Контроллер:
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>
Если я избавиться от параметр Индекс me это все хорошо. Если я оставлю параметр на месте, то метод Index вызывается со 100 как id. После возвращения представления метод вызывается второй раз с параметром null.
Я не могу понять, что вызывает второй звонок.
Моя первая мысль была, чтобы добавить определенный маршрут, как это:
routes.MapRoute(
"Play", // Route name
"Play/{id}", // URL with parameters
new {controller = "Play", action = "Index"} // Parameter defaults
);
Это не имело никакого эффекта, чем сделать покрасивее ищет ссылку.
Я не уверен, куда идти отсюда.
Заранее спасибо.
Рик
Можете ли вы проверить firebug, если URL-адрес запрашивается дважды? –