首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将值异步写入Razor Pages字段

将值异步写入Razor Pages字段
EN

Stack Overflow用户
提问于 2021-05-13 00:12:54
回答 1查看 55关注 0票数 0

我正在调用我的剃刀页面中的异步任务。我可以在代码中的某些地方设置文本框的值,但在其他地方不能。我的评论显示了它在哪里起作用和不起作用。我怎样才能在我的注释说我想要的地方写一个值给我的文本框呢?

代码语言:javascript
代码运行次数:0
运行
复制
<label for="PersonID">PersonID:</label>
<input asp-for="@Model.PersonID" type="text" value="@Model.PersonID" />

public string PersonID { get; set; }

public async void OnGet()
{
    // Do some stuff here
    //Setting PersonID here places the value on my page
        
    await ConnectToPerson();

    //Setting PersonID here DOES NOT place the value on my page
        
}


public async Task ConnectToPerson()
{
    // Do some stuff here
    //Setting PersonID here places the value on my page

    await client.Connect();

    //Setting PersonID here DOES NOT place the value on my page and this is where I want to set it as client will have values returned.

}
EN

回答 1

Stack Overflow用户

发布于 2021-05-13 00:38:07

之所以会发生这种情况,是因为只要执行异步操作,OnGet和ConnectToPerson就会返回。ConnectToPerson返回一个任务,这很好,但是OnGet没有,所以调用它的代码无法知道它正在进行一个需要等待的异步操作。

您可以将OnGet更改为OnGetAsync以执行异步操作,从而返回一个looks like

代码语言:javascript
代码运行次数:0
运行
复制
public async Task OnGetAsync()
{
        
    await ConnectToPerson();

    //Set PersonID here
        
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67507301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档