我正在尝试使用Ajax通过PartialView将信息返回给视图。
控制器有两种方法:
public ActionResult Deal()
{
var product = getDeal();
return PartialView("_deal",product);
}
private product getDeal()
{
var product = db.Products.OrderByDescending(a => a.Name).First();
product.Price *= 0.5m;
return product;
}
此控制器的Index.cshtml包含以下部分:
<div id="deal" class="container">
@Ajax.ActionLink("Click here to see the daily deal!","Deal",
null,
new AjaxOptions
{
UpdateTargetId = "deal",
InsertionMode=InsertionMode.Replace,
HttpMethod="GET"
},
new { @class = "btn btn-primary" })
Views文件夹中有一个PartialView _deal.cshtml,但ActionResult Deal()仅使用页面上_deal.cshtml中的数据重定向到/ Products / Deal URL。而不是渲染局部视图并使用id =“deal”在div标签中呈现html。
答案 0 :(得分:2)
您应该将 Microsoft.jQuery.Unobtrusive.Ajax 的nuget包添加到您的项目中。从程序包管理器控制台:
Search and install via NuGet Packages: Microsoft.jQuery.Unobtrusive.Ajax
之后,您需要添加对视图的引用:
@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"> </script>
你的&#34;交易&#34; ActionResult 可以是 PartialViewResult 和 _deal.cshtml 应放在 视图&gt;共享 文件夹。
答案 1 :(得分:0)
您可以像
一样使用它将您的价值存储在模型中并传递您的模型。
public ActionResult Deal()
{
return PartialView("../_ProductPartial",model)
}