[英]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.