簡體   English   中英

我不能使用 Html.RenderAction in.cshtml

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM