[英]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.