0

早些时候我有ActionLink

 <%: Html.ActionLink("Add Race", "AddRace", 
          new {eventId = Model.EventId,fleetId=Model.SelectedFleet.ID}) %>

在我的页面上..它工作正常。但现在我的要求是它必须检查是否有一些数据FooEntity然后它重定向到另一个视图,否则它应该显示一条alert消息..

所以我改为ActionLinkahref考虑使用$.ajax调用它..但我的动作AddRace是相应地写的ActionLink。但现在我正在使用ahref,所以我想制作 ajaxcall 它将返回一些boolean并基于此我将重定向或显示alert。我需要重新编写AddRace Action。在改变我的行为时,我很MVC困惑。AddRace

ahref

 <a href="#" onclick='checkFleetAddedandScroing()'>Add Race</a>

Action是:

 public ActionResult AddRace(Guid eventId, Guid fleetId)
    {
        try
        {
            var model = new RaceModel { EventID = eventId, FleetID = fleetId, IsAddPHRFBFactors = IsAddPhrfbFactors(eventId, fleetId) };
            SetFleetsInViewBagForAddRace(eventId);
            return View(model);
        }
        catch (Exception ex)
        {                
            throw;
        }            
    }

请建议我如何做到这一点......

4

1 回答 1

1

您需要使用相同的参数。

<a href="#" onclick='checkFleetAddedandScroing("<%= Url.Action("AddRace", 
    new {eventId = Model.EventId,fleetId=Model.SelectedFleet.ID}  %>")'>Add Race</a>

编辑:

你甚至不需要做一个标签。

 <%: Html.ActionLink("Add Race", "AddRace", 
      new {eventId = Model.EventId,fleetId=Model.SelectedFleet.ID}, 
      new {onclick="return myFunction()"}) %>

<script type="text/javascript">
    function myFunction() {
        return confirm("Click no to cancel the navigation, otherwise click yes");
    }
</script>

然后,您将在 javascript 函数中进行 ajax 调用,并在您想取消重定向时返回 false。

于 2012-10-27T09:05:12.047 回答