2013-12-14 48 views
0

我需要把我的Model.ID到AJAX輔助像下面剃刀語法在Ajax.BeginForm選項

@model Modulerica13.Models.HrMapTrainingPerson 

@using (Ajax.BeginForm("updateTrainingPerson", new AjaxOptions 
{ 
    UpdateTargetId = "viewTrainingPerson", 
    HttpMethod = "POST", 
    InsertionMode = InsertionMode.Replace, 
    OnSuccess = "$('#editPersonModal').modal('hide')", 

} 
)) 

我想補充Model.ID同時選擇DIV。

OnSuccess = "$('#[email protected](Model.Id)').modal('hide')", 

我收到sytnax錯誤。

回答

0

當你已經在代碼塊中間時,你不能使用剃刀語法。你在這裏進入正常的C#代碼。你現在的代碼實際上只是將「@(Model.Id)」放在字符串的中間。

OnSuccess = String.Format("$('#editPersonModal{0}').modal('hide')", Model.Id) 

您還需要採取逗號關閉此行的末尾,因爲它是你實例化最後一個屬性(這就是爲什麼你得到錯誤)。

0

你可以改變這個:"$('#editPersonModal" + @Model.Id + "').modal('hide')"

或:

<script type="text/javascript"> 
    $(function(){ 
    window.doAfterSuccess = function(){ 
     var selector = "#editPersonModal" + @Model.Id; 
     $(selector).modal('hide'); 
    } 
    }); 
</script> 

,並具有:

@using (Ajax.BeginForm("updateTrainingPerson", new AjaxOptions 
{ 
    UpdateTargetId = "viewTrainingPerson", 
    HttpMethod = "POST", 
    InsertionMode = InsertionMode.Replace, 
    OnSuccess = "doAfterSuccess", 

}