我需要将我的Model.ID放入ajax助手中,如下所示
@model Modulerica13.Models.HrMapTrainingPerson
@using (Ajax.BeginForm("updateTrainingPerson", new AjaxOptions
{
UpdateTargetId = "viewTrainingPerson",
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
OnSuccess = "$('#editPersonModal').modal('hide')",
}
))
我想在选择DIV时添加Model.ID。
OnSuccess = "$('#editPersonModal@(Model.Id)').modal('hide')",
我收到sytnax错误。
答案 0 :(得分:0)
当您已经处于代码块的中间时,不能使用razor语法。你在这里使用正常的C#代码。您当前的代码实际上只是将“@(Model.Id)”放在字符串的中间。
OnSuccess = String.Format("$('#editPersonModal{0}').modal('hide')", Model.Id)
你还需要在这一行结束时使用逗号,因为它是你实例化的最后一个属性(这就是你得到错误的原因)。
答案 1 :(得分: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",
}