MVC ActionLink 没有 return PartialView
MVC ActionLink does not return PartialView
我正在尝试通过 PartialView 使用 Ajax 到 return 信息到视图。
控制器有两种方法:
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() 重定向到一个 /Products/Deal URL,页面上只有来自 _deal.cshtml 的数据本身。而不是渲染局部视图并在 id="deal".
的 div 标签中渲染 html
您应该将 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>
你的"Deal"ActionResult可以是PartialViewResult 和 _deal.cshtml 应该放在 View > Shared 文件夹.
你可以这样用
将您的值存储在模型中并传递您的模型。
public ActionResult Deal()
{
return PartialView("../_ProductPartial",model)
}
我正在尝试通过 PartialView 使用 Ajax 到 return 信息到视图。
控制器有两种方法:
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() 重定向到一个 /Products/Deal URL,页面上只有来自 _deal.cshtml 的数据本身。而不是渲染局部视图并在 id="deal".
的 div 标签中渲染 html您应该将 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>
你的"Deal"ActionResult可以是PartialViewResult 和 _deal.cshtml 应该放在 View > Shared 文件夹.
你可以这样用
将您的值存储在模型中并传递您的模型。
public ActionResult Deal()
{
return PartialView("../_ProductPartial",model)
}