根据页面上的交互流程,我在ajax上有几个变体。但它只是变化的变化。这里是其中之一:Ajax不允许查看渲染
$('#btn_skickaEnkel').bind('click', function() {
$.ajax({
type: 'POST',
url: '/Contact/IntresseAnmälan/',
dataType: 'json',
data: {
Namn: $('#namn').val(),
Mail: $('#mail').val(),
Info: $('#meddelande').val(),
Nivå: $('#nivå').find(":selected").text(),
IsEnkel: true,
Telefon: $('#nr').val(),
ID: function() {
var url = window.location.pathname;
var id = url.substring(url.lastIndexOf('/') + 1);
return id;
}
},
traditional: true
});
});
在我的控制器中,我无法重定向或返回不同的视图。此时,来自JSON的数据不再相关,因为它已保存到数据库。
我的控制器:
public ActionResult IntresseAnmälan(BokningContainer bokning)
{
db = new DbContext();
//Saving some data to database(removed)
//Just determening the state of container obj.
if (bokning.IsEnkel)
{
//Geting som information from db (removed)
//Creating a mail (removed)
email.Send(bokning.Namn, bokning.Mail, body);
}
else
{
}
//db.SaveChanges();
//This part is not working, I think it's beacuase of the Ajax
return View("IntresseAnmälan");
}
的观点并没有呈现,我认为这是关系到阿贾克斯。该视图根本不会呈现。有没有办法强制返回并忽略ajax?正如我所说的,数据不再需要,因为内容已经保存到数据库。
我试过你的解决方案,它不能解决我的问题。即使没有 - >成功:实现我仍然得到控制器。我甚至渲染_Layout.cshtml,但是当我到达_Layout.cshtml中的@RenderBody()部分时,它不会呈现。 –