我有这个控制器:
public class ActivityController : Controller
{
// GET: Activity
[HttpGet]
public ActionResult ProfessionalActivityForm()
{
return View(new Activity());
}
public ActionResult TradeShow()
{
return PartialView("_AddTradeShow");
}
public ActionResult InsertTradeShow(TradeShow TradeShow)
{
TradeShow.Insert(TradeShow);
return Content("Trade Show submitted successfully");
}
public ActionResult Conference()
{
return PartialView("_AddConference");
}
public ActionResult InsertConference(Conference Conference)
{
Conference.Insert(Conference);
return Content("Conference submitted successfully");
}
}
当我为GET
做/Activity/Conference
时,我的部分视图很好地归还给了我。但是当我GET
/Activity/TradeShow
我得到404.然后,如果我在此控制器中切换代码以便在TradeShow之前出现会议,那么我得到相反的结果 - 会议的404和工作的部分查看TradeShow。
这是为什么?好像我在这里缺少一些基本的东西......
这是我用于ajax的jQuery:
$('#ConferenceButton').on('click', function () {
$.ajax({
type: "GET",
url: '/Activity/Conference',
success: function (data, textStatus, jqXHR) {
$('#partialViewContainer').html(data);
$('.focusMe').focus();
//var top = $('.focusMe').offset().top;
//$("html, body").animate({ scrollTop: top }, 700);
}
});
});
$('#TradeShowButton').on('click', function () {
$.ajax({
type: "GET",
url: '/Activity/TradeShow',
success: function (data, textStatus, jqXHR) {
$('#partialViewContainer').html(data);
$('.focusMe').focus();
//var top = $('.focusMe').offset().top;
//$("html, body").animate({ scrollTop: top }, 700);
}
});
});
答案 0 :(得分:1)
您可以尝试将url
中的$.ajax({
替换为
url: '@Url.Action("Conference", "Activity")',
和
url: '@Url.Action("TradeShow", "Activity")',
此外,如果您的ConferenceButton
和TradeShowButton
在视图中使用ActionLinks,请执行以下操作:
@Html.ActionLink("Conference Button", "Conference", "Activity", null, new { id = "ConferenceButton" })
然后你可以在url
这段代码中使用:
url: this.href,