模型绑定多个属性 SignalR

     2023-02-16     268

关键词:

【中文标题】模型绑定多个属性 SignalR【英文标题】:Modelbinding multiple properties SignalR 【发布时间】:2021-06-21 17:06:33 【问题描述】:

我一直在一个新项目中试用 SignalR,但在模型绑定方面遇到了问题。

我的 Javascript 中心:

state.socket?.invoke(SocketInvoke.submitAnswer, 1, 2, 3, [4,5,6]);

我的方法:

public async Task SubmitAnswer(int gameId, int quizId, int questionId, int[] optionIds)

但这似乎不起作用。我尝试将其更改为:

 const answer = 
            GameId: 1,
            QuizId: 2,
            QuestionId: 3,
            OptionIds: [4,5,6]
        
state.socket?.invoke(SocketInvoke.submitAnswer, answer);

public async Task SubmitAnswer(SubmittedAnswerViewModel answer)

public class SubmittedAnswerViewModel

 public int GameId  get; set; 
 public int QuizId  get; set; 
 public int QuestionId  get; set; 
 public int[] OptionIds  get; set; 
     

我还尝试将 OptionIds 更改为 List,以及将其转换为 int 以查看 int 数组是否存在问题,但不是。最后我想知道我的调用中是否有错字,所以我将参数更改为一个字符串并且成功绑定。

有谁知道为什么这不会绑定?我觉得答案可能很明显,但我就是看不到。

感谢阅读,感谢您的帮助。

【问题讨论】:

【参考方案1】:

您确定您的SocketInvoke.submitAnswer 返回字符串“submitAnswer”吗? 当我尝试使用此示例时,您的代码有效:https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-5.0&tabs=visual-studio#add-signalr-client-code

【讨论】:

您好,感谢您的回复。是的,因为我尝试将我的方法更改为只接收一个字符串参数,然后向它发送一个字符串,它接收到该字符串,但是当我尝试像这样发送多个参数时,它不起作用。 你能激活并发布服务器日志(docs.microsoft.com/en-us/aspnet/core/signalr/…)吗?客户说/抛出什么?是Error: Failed to invoke 'submitAnswer' due to an error on the server. InvalidDataException: Error binding arguments. Make sure that the types of the provided values match the types of the hub method being invoked.吗? (在您的 Startup.cs 中启用此 services.AddSignalR(o => o.EnableDetailedErrors = true; );【参考方案2】:

我终于明白了……

我在方法中执行 Task.Delay(),有效地让我的钩子挂起并等待响应。我认为这是确保在正确的时间准确发送问题的好方法,并且更难修改时间限制等。

回想起来,这似乎很明显,但我才发现这是原因,因为我在谷歌搜索解决方案时留下了一个断点,我的 VSC 突然开始闪烁。

【讨论】:

通过转换器将多个属性绑定到一个值

...l中ListView元素的backgroundColor。现在的问题是颜色取决于我模型中的2个属性:boolIsSpecialCategory和boolIsNsfw-每个组合都应 查看详情

通过多个组件进行双向绑定

...发布时间】:2020-02-2421:31:36【问题描述】:我正在尝试将模型字段绑定到控件,我让它在表单上工作,但我正在尝试重构组件,以便我可以在整个程序中重用控件及其属性。这里有一些sn-ps试图描述我的情况:示例模型publicclassMy... 查看详情

将 ListBoxFor 绑定到 MVC 3 中的模型并使用另一个模型自动选择多个项目

】将ListBoxFor绑定到MVC3中的模型并使用另一个模型自动选择多个项目【英文标题】:BindingaListBoxFortoaModelinMVC3andautoselectingmultipleitemsusinganotherModel【发布时间】:2013-07-2809:35:23【问题描述】:我有一个场景,我有一个与管理员关联... 查看详情

模型绑定属性属性不起作用

】模型绑定属性属性不起作用【英文标题】:Modelbindingapropertyattributenotworking【发布时间】:2021-12-0104:36:37【问题描述】:我有一个ASP.NETCoreWebAPI。我是一个接受名为Search的模型的端点。它具有类型为Expression的称为Query的属性。这... 查看详情

为啥重置表单不会清除绑定的模型属性

】为啥重置表单不会清除绑定的模型属性【英文标题】:Whyresettingaformdoesnotcleartheboundmodelattributes为什么重置表单不会清除绑定的模型属性【发布时间】:2017-12-2012:05:09【问题描述】:我已使用主干-stickitbindings将表单中的文本输... 查看详情

MVC 绑定到具有列表属性的模型忽略其他属性

】MVC绑定到具有列表属性的模型忽略其他属性【英文标题】:MVCbindingtomodelwithlistpropertyignoresotherproperties【发布时间】:2011-07-0516:01:55【问题描述】:我有一个基本的ViewModel,它的属性是复杂类型的列表。绑定时,我似乎无法根... 查看详情

双向绑定到 WPF 中多个列表框上的 ListBox SelectedItem

...属性窗口(类似于VisualStudio中的属性窗口),它绑定到我模型的SelectedObject属性。我有许多不同的方式来浏览和选择对象 查看详情

RxSwift 从一个创建多个 Observable

...:02【问题描述】:如何共享一个API调用?例如,我有以下模型类。这些属性将绑定到不同的UI组件。我在ViewController中实现这个。但是,我认为我不应该将模型暴露给视图层。相反,我应该给ViewController绑定两个Observable属性 查看详情

asp.netcore中的模型绑定

...,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个值。编写代码以检索这些值,并将其从字符串转换为.NET类型不仅繁琐,而且还容易出错。模型绑定后会自动化该过程。模型绑定系统:假设有以下操... 查看详情

@Html.LisboxFor 模型绑定多个项目

】@Html.LisboxFor模型绑定多个项目【英文标题】:@Html.LisboxForModelBindingformultipleitems【发布时间】:2014-11-2806:50:08【问题描述】:我的班级是publicpartialclassTeampublicintTeamIdget;set;publicstringTeamNameget;set;publicstringTeamDescriptionget;set;p 查看详情

Laravel Livewire 绑定模型 Carbon 属性

】LaravelLivewire绑定模型Carbon属性【英文标题】:LaravelLivewirebindmodelCarbonattribute【发布时间】:2021-01-1119:07:07【问题描述】:我正在使用LaravelLivewirev2,我需要将表单日期输入绑定到后端Livewire组件中的模型Carbon属性,但到期日期... 查看详情

绑定到模型列表元素的属性

】绑定到模型列表元素的属性【英文标题】:Bindingtoapropertyofalistelementofamodel【发布时间】:2014-12-0406:21:03【问题描述】:我有一个模型Model1,其属性为List&lt;Model2&gt;model2;。Model1.cs//OtherPropertiespublicList<Model2>model2Listget;s... 查看详情

将 ListBoxFor(多个)绑定回模型

】将ListBoxFor(多个)绑定回模型【英文标题】:BindListBoxFor(Multiple)backtoModel【发布时间】:2012-05-1404:31:54【问题描述】:我有一个MVC视图,它使用下面的Razor语法呈现基本上等同于KeyValuePair的内容,然后生成以下HTML。@Html.DropDownL... 查看详情

动画属性与多个动画的属性绑定

】动画属性与多个动画的属性绑定【英文标题】:PropertyBindingonAnimatedPropertyvsMultipleAnimations【发布时间】:2017-03-0615:48:06【问题描述】:考虑这个例子:importQtQuick2.7importQtQuick.Controls2.0ApplicationWindowid:appWindowwidth:1024height:800visible:tr... 查看详情

OpenUI5 表 - 将多个模型绑定到行项目

】OpenUI5表-将多个模型绑定到行项目【英文标题】:OpenUI5table-bindmultiplemodelstorowitems【发布时间】:2017-05-1213:12:26【问题描述】:我正在尝试使用一个表,但有2个模型绑定到它。我需要这样做:我有一个表和2个模型分配给视图。... 查看详情

如何将多个模型绑定到一个 ManyToManyField?

】如何将多个模型绑定到一个ManyToManyField?【英文标题】:HowtobindmultiplemodelstooneManyToManyField?【发布时间】:2019-06-1014:11:27【问题描述】:例如,有这样的类:classA(models.Model):id=models.CharField(max_length=256,primary_key=True)mtm=models.ManyToM... 查看详情

绑定到 DataTemplate 中的视图模型属性

】绑定到DataTemplate中的视图模型属性【英文标题】:BindingtoaviewmodelpropertyinaDataTemplate【发布时间】:2013-03-2219:55:56【问题描述】:我对XAML还很陌生,但很喜欢学习它。我真正苦苦挣扎的事情是将属性绑定到DataTemplate中的元素。... 查看详情

.Net Core Ajax 表单提交不返回非绑定模型属性

】.NetCoreAjax表单提交不返回非绑定模型属性【英文标题】:.NetCoreAjaxformsubmitnotreturningnonbindedmodelproperty【发布时间】:2021-07-2417:34:28【问题描述】:我有带有表单ajax提交的.Net核心Web项目。在加载表单时,我将所有属性值设置为... 查看详情