Я пытаюсь открыть некоторый контент на новой вкладке браузера. Я передаю данные из js ajax в контроллер MVC, затем возвращает результат просмотра обратно в js, но открывает его на новой вкладке в виде текста - нет html/исходного кода просто простого текста. Как я могу вернуть представление как Html? Кроме того, я попытался не возвращать результат обратно в JS (удаленный блок успеха из JS) и вернуть View в браузер из MVC, но он также не будет работать. Что я делаю не так ? СПАСИБО!View возвращается как текст вместо html на новую вкладку браузера (Ajax - MVC)
JS:
// open row data in new browser tab
function openInNewTab(e) {
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
console.log(dataItem);
var rowDetailsObject = new Object();
rowDetailsObject.ID = dataItem.ID;
rowDetailsObject.Name = dataItem.Name;
rowDetailsObject.Number = dataItem.Number;
rowDetailsObject.Status = dataItem.Status;
$.ajax({
type: "POST",
data: rowDetailsObject,
url: "/Home/NewTabPage",
dataType: "html",
success: function (result) {
var w = window.open();
$(w.document.body).html(result);
console.log(result);
}
});
};
MVC контроллер:
public class HomeController : Controller {
public ActionResult NewTabPage(ContactList contactList)
{
ViewBag.ContactInfo = contactList;
return View();
}
}
HTML:
@{
{ Layout = null; }
}
@{
ViewBag.Title = "NewTabPage";
}
<!DOCTYPE html>
<html>
<head>
<!-- CSS files references -->
<link href="~/Content/kendo.common.min.css" rel="stylesheet" />
<link href="~/Content/kendo.default.min.css" rel="stylesheet" />
<link href="~/Content/kendo.default.mobile.min.css" rel="stylesheet" />
<link href="~/Content/ProjectCss.css" rel="stylesheet" />
<!-- JS files references -->
<script src="~/Scripts/jquery-3.1.0.js"></script>
<script src="~/Scripts/kendo.all.min.js"></script>
<script src="~/Scripts/app/controller/OpenInNewTab.js"></script>
</head>
<body>
<div>
<h2>Detailed data from Kendo row</h2>
<p>ID: <span id="ID">@ViewBag.ContactInfo.ID</span> </p>
<br/>
Name: @ViewBag.ContactInfo.Name
<br />
Number: @ViewBag.ContactInfo.Number
<br />
Status: @ViewBag.ContactInfo.Status
</div>
</body>
</html>
Проверить этот пост: http://stackoverflow.com/questions/8919019/how-to-post-form-data-to-a-new-window-using-jquery-ajax –