Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从方法组转换为eventcallback blazor(服务器应用)-同步融合网格_C#_Asp.net Core_Blazor_Blazor Server Side_Syncfusion - Fatal编程技术网

C# 无法从方法组转换为eventcallback blazor(服务器应用)-同步融合网格

C# 无法从方法组转换为eventcallback blazor(服务器应用)-同步融合网格,c#,asp.net-core,blazor,blazor-server-side,syncfusion,C#,Asp.net Core,Blazor,Blazor Server Side,Syncfusion,我正在blazor服务器应用程序中使用同步融合网格。在网格内部,我使用下拉列表。我想触发偶数下拉更改事件。当我尝试使用以下代码绑定事件时,它给出了一个错误“无法从方法组转换为eventcallback”。请帮忙 下面是razor HTML代码 <GridColumn HeaderText="Action" TextAlign="TextAlign.Center" Width="95"> <Template>

我正在blazor服务器应用程序中使用同步融合网格。在网格内部,我使用下拉列表。我想触发偶数下拉更改事件。当我尝试使用以下代码绑定事件时,它给出了一个错误“无法从方法组转换为eventcallback”。请帮忙

下面是razor HTML代码

<GridColumn HeaderText="Action" TextAlign="TextAlign.Center" Width="95">
    <Template>
        <SfDropDownList TItem="ActionDDLVM" Value="@((context as ActionDDLVM).Id)" TValue="string" PopupHeight="100px" Placeholder="Action" DataSource="@LstAction">
            <DropDownListEvents TValue="string" TItem="ActionDDLVM" OnValueSelect="OnSelect" ValueChange="ValueChange"></DropDownListEvents>
            <DropDownListFieldSettings Text="Text" Value="Id"></DropDownListFieldSettings>
        </SfDropDownList>
    </Template>
</GridColumn>

下面是C#组件部分类中的代码

public void OnSelect(SelectEventArgs args)
{

}

public void ValueChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
{
    // you can get changed value in args.Value
}
public void OnSelect(SelectEventArgs args)
{
}
public void ValueChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs args args)
{
//您可以在args.value中获得更改的值
}

ValueChanged
属性声明为
EventCallback
,其中
TValue
在示例中是
string
。这意味着它期望的方法参数实际上是
string
,而不是
ChangeEventArgs
。因此,将
ValueChange
方法改为使用
string
应该可以解决以下问题:

public void ValueChange(string value)
{
}
相反,
OnChange
属性的声明方式如下:

public EventCallback<ChangeEventArgs> OnChange
public EventCallback OnChange
因此,也许这就是导致混乱的原因

Event arguments of **OnValueSelect** and **ValueChange** were defined wrongly. Please find the modified code example below. 

/SfDropDownList>
选择时公共无效(选择事件Args Args)
{
}
公共无效值更改(ChangeEventArgs Args)
{
}

是否缺少类型?“声明
公共事件回调值更改{get;set;}
”非常感谢@user12702211您的解决方案对我有效
<GridColumn HeaderText="Action" TextAlign="TextAlign.Center" Width="95">
            <Template>
              <SfDropDownList TItem="ActionDDLVM" Value="@((context as ActionDDLVM).Id)" TValue="string" PopupHeight="100px" Placeholder="Action" DataSource="@LstAction">
                       <DropDownListEvents TValue="string" TItem="ActionDDLVM" OnValueSelect="OnSelect" ValueChange="ValueChange"></DropDownListEvents>
                   <DropDownListFieldSettings Text="Text" Value="Id"> 
                     </DropDownListFieldSettings>
              /SfDropDownList>
             </Template>
</GridColumn>
    
public void OnSelect(SelectEventArgs<ActionDDLVM> Args)
{
  
}
public void ValueChange(ChangeEventArgs<string, ActionDDLVM> Args)
{
 
}