[英]How to pass value from Child component (RenderFragment) to Parent page in C# Blazor?
[英]c# blazor server - pass class object from child to parent
你好
我正在嘗試在 blazor 服務器中制作一個可重用的組件
一個列表框,我在其中傳遞一個 id(它用於填充自身,然后將用戶選擇的內容傳回
我的想法是將一個 ID 傳遞給一個組件,從父級傳遞給子級,這工作正常,但我只能從子級那里得到一個字符串,我想發送一個 class object 回來,這可能嗎,我試過了下面
父母
@using Microsoft.AspNetCore.Components.Web
@page "/"
@code {
private void IwasGivendatabackfromclient(HagClass x)
{
string text = x.parChildSet;
}
}
<h1>Hello, world!</h1>
Welcome to your new app.
<HagChild GiveMeDatFromPar="Balls of steel" OnEmployeeDeleted="IwasGivendatabackfromclient"></HagChild>
Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components.Web;
namespace Blazor_PH_Par_Child.Shared
{
public class HagClass
{
public string parSentMe { get; set; }
public string parChildSet { get; set; }
}
}
孩子
@code {
[Parameter]
public string GiveMeDatFromPar { get; set; }
[Parameter]
public EventCallback<object> OnEmployeeDeleted { get; set; }
HagClass x = new HagClass();
public void Delete_Click()
{
x.parChildSet = "test";
OnEmployeeDeleted.InvokeAsync(x);
}
}
<h3>HagChild</h3>
<button type="button" class="btn btn-danger m-1"
@onclick="Delete_Click">
Delete
</button>
<p>hello @GiveMeDatFromPar</p>
是的,有可能。 您可以像這樣添加參數
[Parameter]
public EventCallback<MyModel> OnEmployeeDeleted { get; set; }
然后單擊刪除按鈕后,創建 Mymodel 的項目類型並將其發送回父級
MyModel model = new(){ .... }
OnEmployeeDeleted.InvokeAsync(model);
在父頁面中,您必須創建 function 來獲取子數據。
private void GetDeletedInfo(Mymodel model){}
組件的調用將是
<HagChild OnEmployeeDeleted="data => GetDeletedInfo(data)" />
@Baskovli @Quango 在這里需要幫助,我正在創建一個用戶控件以使用 csvHelper 導入 csv 文件,在我的情況下, MyModel
將始終不同,我如何實現它? 任何幫助都會得到幫助
[Parameter] public EventCallback<MyModel> OnEmployeeDeleted { get; set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.