繁体   English   中英

如何将 ihttpactionresult 返回到字符串

[英]how to convert ihttpactionresult return to string

我是 C# 的新手,我试图从 ihttpactionresult 返回到变量中获取一个值。

但是我在这方面遇到了困难。 这是我的方法:

[HttpPost]
        [Route("GetUserRole")]
        public IHttpActionResult GetUserRole()
        {
            ManageUserData ObjManageUserData = new ManageUserData();
            string UserRole = string.Empty;
            var dt = ObjManageUserData.GetUserRole(UserPersonalNumber);
            if (dt.Rows.Count > 0)
                UserRole = dt.Rows[0][0].ToString();
            else
                UserRole = "User";
            return Ok(UserRole);
        }

在 UserRole 中,我从一个等于 SMPAG 的表中获取价值。 我正在尝试将此值获取到另一个字符串中的变量,但是我遇到了困难。

另一种方法是:

[HttpPost]
        [Route("GetTableValue")]
        public IHttpActionResult GetTableValue()
        {
            try
            {
                List<UserModel> userModels = new List<UserModel>();

                var UserID = UserAdId;

                var UserRole = GetUserRole().ToString();

                return Ok(UserRole );
                }

我试图从 GetUserRole() function 中获取值 SMPAG 到 userRole 并进行一些操作,但是除了传递的字符串之外,我得到了一些其他值如何在此变量中获取 SMPAG 的字符串值。 能否请你帮忙?

我认为你以错误的方式处理这个问题。 您通常需要将用户角色作为string值,对吗? 但是GetUserRole web 方法返回IHttpActionResult 因此,您有效地生成了一个字符串值,将其包装起来,然后您想再次打开它以使用它。

引入第三种方法GetUserRoleImplementation (或任何对您有意义的名称)将有助于解决此问题:

private string GetUserRoleImplementation()
{
    ManageUserData ObjManageUserData = new ManageUserData();
    string UserRole = string.Empty;
    var dt = ObjManageUserData.GetUserRole(UserPersonalNumber);
    if (dt.Rows.Count > 0)
        UserRole = dt.Rows[0][0].ToString();
    else
        UserRole = "User";
}

您可以看到我们已将现有GetUserRole方法的大部分功能移至此处。 这意味着GetUserRole现在看起来像这样:

[HttpPost]
[Route("GetUserRole")]
public IHttpActionResult GetUserRole()
{
    string userRole = GetUserRoleImplementation();
    return Ok(UserRole);
    // or just: return Ok(GetUserRoleImplementation());
}

由于我们不再需要弄清楚如何从IHttpActionResult中提取字符串值, GetTableValue现在看起来像这样:

[HttpPost]
[Route("GetTableValue")]
public IHttpActionResult GetTableValue()
{
    try
    {
        List<UserModel> userModels = new List<UserModel>();

        var UserID = UserAdId;

        var UserRole = GetUserRoleImplementation();

        return Ok(UserRole );
    }
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM