gpt4 book ai didi

c# - 读取布局文件中的整数 session 值

转载 作者:行者123 更新时间:2023-12-04 01:45:01 24 4
gpt4 key购买 nike

_Layout 文件中,我需要从 session 中读取一个 int 变量数据。我可以很容易地读取字符串,但整数非常困难。

我将这段代码用于字符串:

var sessionImg = new Byte[20];
bool imageStatus = Context.Session.TryGetValue("_Image", out sessionImg);

if (imageStatus)
{
string result = System.Text.Encoding.UTF8.GetString(sessionImg);
}

对于整数,我将 Byte 转换为字符串,而不是将字符串转换为 Int。

var ByteClientID = new Byte[20];
bool IdStatus = Context.Session.TryGetValue("_ClientID", out ByteClientID);

if (IdStatus)
{
string result1 = System.Text.Encoding.UTF8.GetString(ByteClientID);

int intSessionValue = 0;
bool isConvertOK = Int32.TryParse(result1, out intSessionValue);

if (isConvertOK)
{
........
}
}

它可以工作,但我不喜欢这段代码。它看起来不正确。Context.Session.TryGetValue 只返回 Byte..谁能帮我解决这个问题?

最佳答案

有几个extension methodsMicrosoft.AspNetCore.Http 命名空间中的 ISession 上。所以只要包含那个命名空间,然后你就可以使用方法GetInt32GetString直接。

这样可以避免以字节形式读取 session 数据并先将其转换为字符串:

// using Microsoft.AspNetCore.Http;

string sessionImg = Context.Session.GetString("_Image");

int clientId = Context.Session.GetInt32("_ClientID");

要在 Razor View 中导入命名空间,您可以使用 @using 指令:

@using Microsoft.AspNetCore.Http;

<p>Image value: @Context.Session.GetString("_Image")</p>
<p>Client id: @Context.Session.GetInt32("_ClientID")</p>

关于c# - 读取布局文件中的整数 session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55670785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com