下面是每当用户单击我的 ASP MVC3 视图上的某个图标时我对控制器进行的 Ajax 调用。它应该通过名称调用控制器中的方法PopDetails
,但是在控制器中设置断点后,我可以看到这没有发生。我尝试使用下面列出的两个 URL,但都没有工作。因为这是我第一次使用 Ajax,所以我不太确定发生了什么。任何想法或建议将不胜感激!
来自 View 的 Ajax 代码:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script type="text/javascript">
function GetProgramDetails(pgmname) {
var request = $.ajax({
type: 'POST',
url: '~/BatchProgramsContoller/PopDetails',
//url: '~/BatchProgramsContoller/PopDetails',
data: { programName: pgmname },
dataType: 'html'
});
request.done(function (data) {
$('#programExplanation').html(data);
});
}
</script>
方法来自BatchProgramsController
:
[HttpPost]
public string PopDetails(string programName)
{
BatchPrograms batchprograms = db.BatchPrograms.Find(programName);
if (batchprograms == null) return string.Empty;
StringBuilder s = new StringBuilder();
s.Append(batchprograms.ProgramName + " - " + batchprograms.ShortDescription);
s.Append("<br />Job Names: " + batchprograms.PrdJobName + ", " + batchprograms.QuaJobName );
s.Append("<br /> " + batchprograms.Description);
return s.ToString();
}