2012-10-27 23 views
0

更換HTML.ActionLink早些時候,我在我的page..and有ActionLinkMVC:與AHREF

<%: 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; 
     }    
    } 

請建議我該怎麼辦呢....

回答

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。

+0

感謝您的快速響應..但我很困惑,因爲'ActionLink'可以直接將我重定向到view..but在這種情況下重定向將是可選的。就像是如果有一些相關數據是'FooEntity',那麼只有重定向,否則它必須顯示一個警報,並返回false.That是我在寫作和根據這個要求改變'行動'的混亂。 –

+0

@MayankPathak - 然後爲什麼你的文章有一個帶有不同參數的標籤? –

+0

對不起,這是我在提問時的錯誤..這將只是一個函數..我編輯了我的問題..'js'函數將進行ajax調用,並基於bool結果我必須重定向或顯示警報.. –