2009-03-05 18 views
1

in Sharepoint Designer habe ich eine SteuerMailto-Link Share desgner

<SharePointWebControls:TextField FieldName="Title" runat="server"></SharePointWebControls:TextField> 

ich haben will eine mailto-Link , die diesen Titel als Betreff der E-Mail wird verwenden und ich brauche den Körper der E-Mail enthalten etwas Text zB "Mein Beispieltext"

Wie mache ich das?

dank

Antwort

-1

Ich würde vorschlagen, eine benutzerdefinierte Feldklasse zu erstellen, die von TextField erbt und im Anzeigemodus das mailto-Tag erstellt.

public class EmailToTextField: Microsoft.SharePoint.WebControls.TextField 
{ 
    public override void RenderControl(System.Web.UI.HtmlTextWriter writer) 
    { 
    switch (ControlMode) 
    { 
     case Microsoft.SharePoint.WebControls.SPControlMode.Display: 
       writer.Write("<a href='mailto:" + Value + "?subject=" + Value + "&body=sometext'>EMAIL</a>"); 
       break; 
     default: 
       base.RenderControl(writer); 
       break; 
     } 
    } 
} 

Und dann fügen Sie ihn einfach als eine sichere Kontrolle, und verwenden Sie es in Code wie folgt:

<MyWebControls:EmailToTextField FieldName="Title" runat="server"></MyWebControls:EmailToTextField> 

Hoffe, dass es

+0

das ist kein benutzerdefiniertes Feld, das ist ein Benutzersteuerelement – Jason

+0

Es ist kein Benutzersteuerelement. Es ist ein benutzerdefiniertes Feld "Renderer" ... näher an einem Webpart als an einem User Control –

0

hilft ich den oben genannten Ansatz verwenden würde. Der Kommentar Jason ist irreführend - dieser Code ist in der Tat eine benutzerdefinierte Feldsteuerung. Und ja, ich denke, benutzerdefinierte Feldsteuerelemente könnten Benutzersteuerelemente genannt werden, da sie in C# geschrieben sind. Ich verwende ähnliche benutzerdefinierte Feldsteuerelemente in meinen eigenen Lösungen.