我在这样的变量中得到了一个Guid值
var getvalueGuid = db.Clients.Where(u => u.Numero_telephone ==
TextBox_numero_telephone.Text).Select(u => u.GuID).FirstOrDefault();
我想将它转换为类似的查询字符串:
getvalueGuid = Request.QueryString["id"];
怎么办?
答案 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
构造函数的注释中记录了三个例外(FormatException
,OverflowException
和Guid(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
}