使用查询字符串获取Guid

时间:2014-06-11 08:17:31

标签: asp.net guid

我在这样的变量中得到了一个Guid值

var getvalueGuid = db.Clients.Where(u => u.Numero_telephone == 
TextBox_numero_telephone.Text).Select(u => u.GuID).FirstOrDefault();

我想将它转换为类似的查询字符串:

getvalueGuid = Request.QueryString["id"];

怎么办?

4 个答案:

答案 0 :(得分:1)

您可以使用Guid.TryParse

Guid getvalueGuid;
if(Guid.TryParse(Request.QueryString["id"], out getvalueGuid))
{
    // successfully parsed 
}

答案 1 :(得分:0)

只有当你拥有像

这样的网址时,你才能在QueryString中获取它
  

www.example.com/page?id= [guid_here]

然后,当您使用代码时,它将为您提供一个String,其中包含URL中提供的Query String。

答案 2 :(得分:0)

很难理解你的问题,因为你遗漏了很多细节,但我想你想从查询字符串中获得一个强类型的GUID值?

System.Guid没有TryParse方法,因此您必须使用构造函数并捕获抛出的任何异常:

如果是这样,那就这样做:

String guidStr = Request.QueryString["id"];
Guid guid = null;
try {
    guid = new Guid( guidStr );
} catch(ArgumentNullException) {
} catch(FormatException) {
} catch(OverflowException) {
}

if( guid == null { 
    // Inform user that the GUID specified was not valid.
}

此处ArgumentNullException构造函数的注释中记录了三个例外(FormatExceptionOverflowExceptionGuid(String)http://msdn.microsoft.com/en-us/library/96ff78dc%28v=vs.110%29.aspx

更新

我忘了.NET 4.0引入了TryParse方法。如果您使用的是.NET 4.0或更高版本,请使用它:http://msdn.microsoft.com/en-us/library/system.guid.tryparse%28v=vs.110%29.aspx

答案 3 :(得分:0)

Guid requestGuid;
if (Guid.TryParse(Request.QueryString["id"], out requestGuid))
{
   // Do logic here with requestGuid
}