簡體   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