我可以将子操作的返回值传递给ASP.net中的视图吗?



我正试图找出如何将我的返回值传递给视图而没有任何异常。

我很难传递我的bool值,因为它是异步到我的视图模型。

控制器

[HttpGet]
[ChildActionOnly]
public async Task<bool> ValidateCurrentUser()
{
bool result = false;
try
{
if (string.IsNullOrEmpty(Session["ticketKey"].ToString()))
{
return result;
}
else
{
string ticket = Session["ticketKey"].ToString();
result = await _authenticationService.ValidateUser(ticket);
if (result)
return result;
}
}
catch (Exception)
{
return result;
}
return result;
}

剃刀页

@{
bool isvalid = string.Equals(Html.Action("ValidateCurrentUser", "Authentication").ToString(), true);
if (isvalid)
{
<div>
RED
</div>
}
else
{
<div>
BLUE
</div>
}
}

使用TaskCompletionSource(),如果你有问题的执行顺序和事情不同步发生。

转换Action回调await

试试这个

[HttpGet]
[ChildActionOnly]
public async Task<bool> ValidateCurrentUser()
{
return await IsUserValid();
}
private async Task<bool> IsUserValid()
{
bool result = false;
try
{
if (string.IsNullOrEmpty(Session["ticketKey"].ToString())))
{
return result;
}
else
{
string ticket = Session["ticketKey"].ToString());
result = await _authenticationService.ValidateUser(ticket);
if (result)
return result;
}
}
catch (Exception)
{
return result;
}
return result;
}

相关内容

  • 没有找到相关文章

最新更新