我是MVC的新手,正在尝试一些东西,但我不能让它工作.
我有这个脚本应该根据下拉列表选择在页面内插入局部视图.
$(function () {
$('#ddTipologiaFattura').change(function () {
var selectedID = $(this).val();
$.ajax({
url: '/Admin/Fatturazione/GetPartial/' + selectedID,
contentType: 'application/html; charset=utf-8',
type: 'GET',
dataType: 'html'
})
.success(function (result) {
$('#partialPlaceHolder').html(result);
})
.error(function (xhr, status, error) {
alert(status + '\n' + error)
});
});
});
这是我的控制器〜/ Areas / Admin / Controllers / FatturazioneController.cs
[RouteArea("Admin")]
[Route("Fatturazione/{action}")]
public class FatturazioneController : Controller
{
private MyEntity db = new MyEntity();
public ActionResult GetPartial(int partialViewId)
{
if (partialViewId == 0)
{
var fatturaAziendaVM = new FatturaPerAziendaViewModel();
ViewBag.Intestatario = new SelectList(db.Azienda, "AziendaNome", "AziendaNome");
return PartialView("~/Areas/Admin/Views/Fatturazione/_ListaAziende.cshtml", fatturaAziendaVM);
}
var fatturaVM = new FatturaViewModel();
return PartialView("~/Areas/Admin/Views/Fatturazione/_Intestatario.cshtml", fatturaVM);
}
我不断通过脚本获得Not Found错误.
我究竟做错了什么?
最佳答案 您的路线仅考虑操作,而不是Id,这就是失败的原因.您应该更新每个操作的路由以考虑Id,或者将id附加为查询字符串参数.
$.ajax({
url: '/Admin/Fatturazione/GetPartial?partialViewId=' + selectedID,