2012-04-05 62 views
2

請,請不要告訴我要刪除的文件設計師和頁面轉換成應用程序 - 我已經做到了這一點,並沒有奏效Visual Studio 2010的設計文件未更新

我有一個用戶控制我已經編程添加了2個ASP超鏈接控件。我無法讓控件出現在設計器文件中。

我試過手動將它們添加到設計器文件,但它們在構建時被刪除。

我已經搜索過,看到了有關刪除設計器文件和將ASCX頁面轉換爲應用程序的解決方案,但這種方法沒有奏效。

因此,在構建時,項目錯誤,因爲它的代碼無法找到我的控件。

<asp:HyperLink ID="hplSiteLink2" NavigateUrl='<%# GetSiteLink(Eval("SiteName"))%>' runat="server">VIEW SITE INFO</asp:HyperLink> 

     protected void GetSiteLink(object SiteName) 
    { 
     string sn = string.Empty; 

     if (SiteName is string) 
     { 
      sn = SiteName.ToString(); 

      if (sn == "redlionnewquay") 
      { 
       hplSiteLink.NavigateUrl = "http://www.redlionnewquay.co.uk"; 
       hplSiteLink2.NavigateUrl = "http://www.redlionnewquay.co.uk"; 
      } 
      else 
      { 
       hplSiteLink.NavigateUrl = "~/Venue/Home/" + Eval("SiteNameUrl"); 
       hplSiteLink2.NavigateUrl = "~/Venue/Home/" + Eval("SiteNameUrl"); 
      } 
     }   
    } 

如果您有任何想法,我將不勝感激。

回答

1

有時候,如果你刪除&重新添加一個控件,並且設計者沒有得到更新,這可能是由於權限問題 - 你確定所有的文件都是可寫的,並且你有權限嗎?

您是否有任何其他用戶控件可以正常工作?我見過擴展名(ascx)由於某種原因失去了聯繫的情況,所以VS不知道如何正確處理它。如果您切換視圖,這是否有所作爲?項目中出現名稱衝突的可能性?

最後,如果沒有其他的工作,嘗試從項目中刪除用戶控件,關閉Visual Studio,然後重新打開解決方案&嘗試添加一個新的。

1

對,我想我已經解決了它。我在這個主題上的其他主題上設置了正確的軌道,說明代碼中是否有任何錯誤,它不會生成設計器文件。

考慮到這一點我看了一遍又一遍的過程,並意識到我正在運行的評估和演示if語句 - 這是垃圾,所以我改變了代碼如下:

 public string GetSiteLink(object SiteName) 
    { 
     string sn = string.Empty; 
     string sHtml = string.Empty; 

     if (SiteName is string) 
     { 
      sn = SiteName.ToString(); 

      if (sn == "redlionnewquay") 
      { 
       sHtml = "http://www.redlionnewquay.co.uk"; 
      } 
      else 
      { 
       sHtml = "~/Venue/Home/" + SiteName; 
      } 
     } 
     return sHtml; 
    } 

這解決了這個問題,雖然它不是很明顯,因爲前面的代碼沒有錯誤地編譯,我猜在後面的代碼中的Eval是一個'軟'錯誤。

感謝您的幫助。