2014-04-09 25 views
1

我在課堂上創建了客戶鏈接按鈕。我可以通過網格視圖中的代碼添加它。如果我想在設計視圖中添加它。可能嗎?如果是這樣,你會告訴我如何?提前致謝。從繼承網頁鏈接按鈕控件的類添加控件

例如:

<TempLinkbutton id="btnEdit" runat="server" CssClass="btnWider" Text="Edit" Visible="true"/> 

有我的代碼:

Public Class TempLinkbutton 
Inherits LinkButton 
Private NewPropertyValue As String 


Public Property LinkTarget() As String 
    Get 
     Return NewPropertyValue 
    End Get 

    Set(ByVal value As String) 
     NewPropertyValue = value 
    End Set 
End Property 


End Class 

回答

0

是的,你可以直接添加自定義服務器控件拖到aspx頁面。有很多你可以用服務器控件做的事情,但這裏是如何開始。

首先,如果您的TempLinkButton位於單獨的庫中,則需要爲您的Web項目添加對類庫的引用(如果尚未引用)。

其次,在您要使用該控件的頁面上,您必須爲您的TempLinkButton所在的位置註冊程序集和命名空間。

例如,如果你的TempLinkButton是在一個名爲CustomControls

<%@ Register TagPrefix="cc" Assembly="CustomControls" Namespace="CustomControls" %> 

或者也可以在web.config所以它適用於所有頁面

<system.web>  
<pages> 
    <controls> 
    <add tagPrefix="cc" Assembly="CustomControls" 
     namespace="CustomControls"> 
    </add> 
    </controls> 
</pages> 
</system.web> 

使用任何你定義來完成庫對於TagPrefix,您現在可以開始使用它了。

<cc:TempLinkButton id="btnEdit" runat="server" CssClass="btnWider" Text="Edit" Visible="true" /> 

如果您添加的參考和做正確的寄存器/ web.config中,一旦你開始輸入<cc:,你應該看到相同的組件和命名空間,你註冊在您TempLinkButton和任何其他的人。

與使用它的用戶控件非常相似。

這是關於自定義服務器控件的decent article,儘管ASPX以外的代碼在c#中。它還討論了在工具箱中使用控件,定義屬性等等。

你也可以參考MSDN Walkthrough: Developing and Using a Custom Web Server Control

+0

謝謝你的詳細解釋。我的vb頁面位於網站的文件夾中。它沒有名稱空間。我需要添加它嗎?例如:如果名稱空間是「TestNameSpace」,類名稱是「TempLinkbutton」。我如何參考它。在此先感謝 – user819774

+0

感謝您的詳細解釋。我的vb頁面位於網站的另一個文件夾中。它沒有名稱空間。我嘗試添加命名空間。當我運行該頁面時,出現錯誤,無法加載文件或程序集。提前致謝。我做錯了什麼? – user819774

+0

@ user819774你是說TempLinkBut​​ton位於web項目(所有的aspx頁面都在哪裏)?通常他們不是,但如果是這樣的話,我相信它是Assembly =「YourWebProjectName」和Namespace =「YourWebProjectName」。如果您確實添加了名稱空間TestNameSpace(您不必),則它是Namespace =「YourWebProjectName.TestNameSpace」。如果這有幫助,我會更新我的答案。 – singularhum