下面是我在用戶單擊ASP MVC3視圖上的某個圖標時對控制器進行的Ajax調用。它應該在控制器中調用一個名爲PopDetails
的方法,但是在控制器中設置一個斷點後,我可以看到這沒有發生。我嘗試使用下面列出的兩個URL,但都沒有工作。由於這是我第一次使用Ajax,我不確定發生了什麼。任何想法或建議將不勝感激!從查看通過Ajax無法正確調用ASP MVC控制器方法
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();
}
嘗試刪除〜並只使用/ BatchProgramsContoller/PopDetails – 2013-02-13 18:16:17
仍然沒有... – NealR 2013-02-13 18:18:33
你可以在ajax調用上放一個斷點嗎?它會被叫嗎? – 2013-02-13 18:23:48