我在VB.Net(Web应用程序)中有以下代码段:
Dim lnkTemp as HyperLink = dvFileInfo.FindControl("lnkPlan")
dfFileInfo是System.Web.UI.WebControls
中的DetailsView控件当我尝试将此转换为C#时:
HyperLink lnkTemp = dvFileInfo.FindControl("lnkPlan");
我在“=”之后收到错误:
无法将类型'System.Web.UI.Control'隐式转换为System.Web.UI.WebControls.HyperLink'。存在显式转换(您是否错过了演员?)
我需要做些什么来纠正这个问题?
谢谢!
答案 0 :(得分:4)
你只需要添加一个显式的强制转换:
HyperLink lnkTemp = (HyperLink)dvFileInfo.FindControl("lnkPlan");
答案 1 :(得分:4)
投下它:
HyperLink lnkTemp = (HyperLink)dvFileInfo.FindControl("lnkPlan");
或者更安全一点:
HyperLink lnkTemp = dvFileInfo.FindControl("lnkPlan") as HyperLink;
// check for lnkTemp == null
为了清楚起见,VB代码的编写者可能应该执行以下操作:
Dim lnkTemp As HyperLink = DirectCast(dvFileInfo.FindControl("lnkPlan"), HyperLink)