[英]should I be using an @html.renderpartial or @html.renderaction
[英]I cant using Html.RenderAction in .cshtml
前端
@{
<div>
@Html.RenderAction("UrunOzellikTipWidget", "Admin");
@Html.RenderAction("UrunOzellikDegerWidget", "Admin");
</div>
}
后端
public ActionResult UrunOzellikEkle()
{
return View(Context.Baglanti.Urun.ToList());
}
public PartialViewResult UrunOzellikTipWidged(int? katID)
{
if (katID != null)
{
var data = Context.Baglanti.OzellikTip
.Where(x => x.KategoriID == katID)
.ToList();
return PartialView(data);
}
else
{
var data = Context.Baglanti.OzellikTip.ToList();
return PartialView(data);
}
}
public PartialViewResult UrunOzellikDegerWidget(int? tipID)
{
if (tipID != null)
{
var data = Context.Baglanti.OzellikDeger
.Where(x => x.OzellikTipID == tipID)
.ToList();
return PartialView(data);
}
else
{
var data = Context.Baglanti.OzellikDeger
.ToList();
return PartialView(data);
}
}
**错误代码:严重性代码描述项目文件行抑制 State 错误 CS0029 无法将类型“void”隐式转换为“object”**
将FRONTEND中的代码修改为以下内容(从Html.RenderAction
语句中删除多余的 & 符号)。
<div>
@{ Html.RenderAction("UrunOzellikTipWidget", "Admin"); }
@{ Html.RenderAction("UrunOzellikDegerWidget", "Admin") };
</div>
@Html.RenderAction
呈现结果,而不是将其作为字符串返回,而是将其直接写入响应并返回Void
。 因此,您必须在 C# 块中使用它,表示为@{ }
,并以分号结尾,就像调用/调用 void function 一样。
所以你的前端需要改成:
<div>
@{
Html.RenderAction("UrunOzellikTipWidget", "Admin");
Html.RenderAction("UrunOzellikDegerWidget", "Admin");
}
</div>
另一个答案(删除多余的&符号)将不起作用,因为这 2 个RenderAction
被包裹在<div />
中。 如果删除 & 符号,它们将被视为普通的 HTML。 它将 output 为:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.