Click here to Skip to main content
Click here to Skip to main content

Creating a Contact Form Web Part for SharePoint

By , 8 Dec 2008
 

Introduction

SharePoint is a powerful application that enables an organization to quickly implement a web based portal for managing and sharing information among groups of people. Out of the box, it offers many components such as document libraries and configurable lists. For more advanced requirements, SharePoint provides the ability to create web parts, which are custom components that can plug into and interact with a SharePoint site. Web parts are a simple, yet powerful way to extend the capabilities of SharePoint to meet your organization’s unique requirements.

This article will show, step-by-step, how to create a simple SharePoint web part that implements a contact form. A contact form is typically used on a public website to provide a way for customers, business partners, and others outside the company to submit questions or request information by filling out fields on a web page and clicking a Submit button. This web part will collect the user’s name, email address, phone number, and message, and send the information to an email address when the user clicks Submit.

Contact Form Web Part

Requirements

The web part created in this article will use Windows SharePoint Services (WSS) 3.0. It will also work with MOSS 2007, which is a more advanced version of SharePoint built on the same infrastructure as WSS 3.0. To create the web part, we will be using Visual Studio 2008 installed on Windows Server 2003, along with Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2, which is a free download from the Microsoft Download Center.

Creating a Web Part Project

The first step is to create a new web part project using Visual Studio 2008. To do this, open Visual Studio 2008, and choose New – Project from the file menu. Select Visual C# - SharePoint from the Project Type list, and select the Web Part template from the list on the right. Enter ContactFormWebPart as the name and the solution name, and choose a directory where you want the solution files to be saved. When you click OK, an empty web part project will be created and opened in Visual Studio.

The empty project has one web part, called WebPart1, but this isn’t what we want to call our web part, so the first step is to delete WebPart1 from the project by right clicking on the WebPart1 folder in the Solution Explorer in Visual Studio and choosing Delete.

Next, let's add a new web part to the project, called ContactForm. Right click on the ContactFormWebPart project in the Solution Explorer, and choose Add – New Item from the context menu. Select SharePoint from the categories list, and Web Part from the templates list. Enter ContactForm for the name, and click Add.

Adding a New Web Part

This gives you a new source file called ContactForm.cs that has an empty class inheriting from WebPart, with some TODO comments. In the next section, we are going to replace the CreateChildControls() function and add some additional code to this class.

After Adding the ContactForm Web Part

Adding Code to Create the Controls

Now, we are ready to begin writing code that will display the web part. Open ContactForm.cs, and you will see a function called CreateChildControls(). This function is where we will add labels, textboxes, and a button to allow the user to interact with our web part.

But first, let's create some class-level variables for the controls that we will create. Declaring them at the class level as opposed to within the CreateChildControls() function will allow us to reference these controls from the button event handler later on.

TextBox txtContactName;
TextBox txtEmailAddress;
TextBox txtPhone;
TextBox txtMessage;
Button btnSendMessage;
Label lblMessageSent;

Now, let's add the code to CreateChildControls to build the display. In order to keep it simple, an HTML table will be used to align the controls in a consistent manner. Each table row will have two cells: one for the field label, and the other for the text boxes. Controls are created one at a time and added to a table cell, which is then added to a table row.

protected override void CreateChildControls()
{
    base.CreateChildControls();

    Table t;
    TableRow tr;
    TableCell tc;
    
    // A table that is used to layout the controls
    t = new Table();

    // Label with instructions for the user
    tr = new TableRow();
    tc = new TableCell();
    tc.ColumnSpan = 2;
    tc.VerticalAlign = VerticalAlign.Top;
    Label lblInstructions = new Label();
    lblInstructions.Text = "Please enter your contact" + 
                           " information and message below.";
    tc.Controls.Add(lblInstructions);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);

    // Contact Name label
    tr = new TableRow();
    tc = new TableCell();
    tc.Style["padding-top"] = "7px";
    tc.VerticalAlign = VerticalAlign.Top;
    Label lblContactName = new Label();
    lblContactName.Text = "Name:";
    tc.Controls.Add(lblContactName);
    tr.Controls.Add(tc);

    // Contact Name textbox
    tc = new TableCell();
    tc.VerticalAlign = VerticalAlign.Top;
    txtContactName = new TextBox();
    txtContactName.ID = "txtContactName";
    txtContactName.Width = Unit.Pixel(300);
    tc.Controls.Add(txtContactName);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);

    // Email Address label
    tr = new TableRow();
    tc = new TableCell();
    tc.Style["padding-top"] = "7px";
    tc.VerticalAlign = VerticalAlign.Top;
    Label lblEmailAddress = new Label();
    lblEmailAddress.Text = "Email Address:";
    tc.Controls.Add(lblEmailAddress);
    tr.Controls.Add(tc);

    // Email Address textbox
    tc = new TableCell();
    tc.VerticalAlign = VerticalAlign.Top;
    txtEmailAddress = new TextBox();
    txtEmailAddress.ID = "txtEmailAddress";
    txtEmailAddress.Width = Unit.Pixel(300);
    tc.Controls.Add(txtEmailAddress);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);
    
    // Phone Number label
    tr = new TableRow();
    tc = new TableCell();
    tc.Style["padding-top"] = "7px";
    tc.VerticalAlign = VerticalAlign.Top;
    Label lblPhone = new Label();
    lblPhone.Text = "Phone Number:";
    tc.Controls.Add(lblPhone);
    tr.Controls.Add(tc);

    // Phone Number textbox
    tc = new TableCell();
    tc.VerticalAlign = VerticalAlign.Top;
    txtPhone = new TextBox();
    txtPhone.ID = "txtPhone";
    txtPhone.Width = Unit.Pixel(300);
    tc.Controls.Add(txtPhone);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);
    
    // Message label
    tr = new TableRow();
    tc = new TableCell();
    tc.Style["padding-top"] = "7px";
    tc.VerticalAlign = VerticalAlign.Top;
    Label lblMessage = new Label();
    lblMessage.Text = "Message:";
    tc.Controls.Add(lblMessage);
    tr.Controls.Add(tc);

    // Message textbox
    tc = new TableCell();
    tc.VerticalAlign = VerticalAlign.Top;
    txtMessage = new TextBox();
    txtMessage.ID = "txtMessage";
    txtMessage.Height = Unit.Pixel(100);
    txtMessage.Width = Unit.Pixel(400);
    txtMessage.TextMode = TextBoxMode.MultiLine;
    txtMessage.Wrap = true;
    tc.Controls.Add(txtMessage);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);
    
    // Empty table cell
    tr = new TableRow();
    tc = new TableCell();
    tr.Controls.Add(tc);    

    // Label for telling the user the message was sent
    tc = new TableCell();
    tc.VerticalAlign = VerticalAlign.Top;
    lblMessageSent = new Label();
    lblMessageSent.Text = "Your message has been sent. Thank you.";
    lblMessageSent.Font.Bold = true;
    lblMessageSent.Visible = false;
    tc.Controls.Add(lblMessageSent);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);

    // Empty table cell
    tr = new TableRow();
    tc = new TableCell();
    tr.Controls.Add(tc);

    // Send Message button
    tc = new TableCell();
    btnSendMessage = new Button();
    btnSendMessage.Text = "Send Message";
    btnSendMessage.Click += new EventHandler(btnSendMessage_Click);
    tc.Controls.Add(btnSendMessage);
    tr.Controls.Add(tc);

    t.Controls.Add(tr);

    this.Controls.Add(t);
}

Finally, we need to add an event handler to send the message as an email when the Send Message button is clicked by the user. In the code above, the event handler was already wired up with the line btnSendMessage.Click += new EventHandler btnSendMessage_Click);, so now we just need to create the btnSendMessage_Click function. This function simply builds an email message using text that was entered into the text boxes, and sends the email using SharePoint's SPUtility.SendEmail() function.

You will need to change the "to" and "from" fields in the message header for your specific situation. The "to" field specifies where the email will be sent, and the "from" field is the email address that the email should appear to be from. The "from" field isn't too important, but some mail servers may require this to be a valid email address.

protected void btnSendMessage_Click(object sender, EventArgs e)
{
    // Build the email subject string
    System.Text.StringBuilder subject = new System.Text.StringBuilder();
    subject.Append("Contact Form Message from ");
    subject.Append(txtContactName.Text);

    // Build the email message string
    System.Text.StringBuilder message = new System.Text.StringBuilder();
    message.Append("Contact Name: ");
    message.AppendLine(txtContactName.Text);
    message.Append("Email Address: ");
    message.AppendLine(txtEmailAddress.Text);
    message.Append("Phone: ");
    message.AppendLine(txtPhone.Text);
    message.AppendLine();
    message.AppendLine("Message:");
    message.AppendLine(txtMessage.Text);

    // Construct the message header
    System.Collections.Specialized.StringDictionary messageHeader = 
    new System.Collections.Specialized.StringDictionary();
    // TODO: Where to send the email
    messageHeader.Add("to", "CustomerService@example.com");
    // TODO: Who the email should be "from"
    messageHeader.Add("from", "ContactForm@example.com");
    messageHeader.Add("subject", subject.ToString());
    messageHeader.Add("content-type", "text/plain");

    // Send the email
    Microsoft.SharePoint.Utilities.SPUtility.SendEmail(
    SPContext.Current.Web, messageHeader, message.ToString());

    // Let the user know the message was sent
    lblMessageSent.Visible = true;

    // Clear out the input fields
    txtContactName.Text = "";
    txtEmailAddress.Text = "";
    txtPhone.Text = "";
    txtMessage.Text = "";
}

Testing the Web Part

Now, we are ready to test the web part. The easiest way to do this is to choose Deploy Solution from the Build menu in Visual Studio 2008. After it has built and deployed successfully, open a web browser and navigate to the SharePoint website. From the Site Actions menu, choose Edit Page. This will place the page into Edit Mode, where web parts can be added, removed, and configured.

For testing purposes, we don't care about the exact placement of the web part, so just click Add a Web Part in the main left zone. This will open up a dialog box listing all of the web parts that are available for use on this SharePoint server. If you scroll down the list, you should see the ContactForm web part. Put a checkbox next to this web part, and click the Add button.

Adding the Web Part to SharePoint

You should now see the contact form displayed on the page. While still in Edit Mode, you can change other settings such as the title that is displayed above the web part, or the height and width. For testing, we are going to leave everything as the default, so just click the Exit Edit Mode button. The page will now show the contact form, and we are ready to test it. Enter a name, email address, phone number, and message, and click Send Message. If all is successful, you will see a message saying your message has been sent, and within a few minutes, receive the email that was generated by btnSendMessage_Click().

Testing the Web Part in SharePoint

Checking the Outgoing E-Mail Settings

If your receive an error message when you click Send Message, or if the email does not arrive within 5 or 10 minutes, it could be that the outgoing email settings have not been configured in SharePoint. This can be done by a SharePoint administrator using the Central Administration website. In Central Administration, go to the Operations tab, and select Outgoing E-Mail Settings. Make sure the Outbound SMTP Server is configured with the name of the mail server.

Configuring Outgoing E-mail Settings for SharePoint

Deploying the Web Part

Once you have tested the web part, it is ready to be deployed as a solution to the production SharePoint server. For this, we will create a SharePoint solution package, which is a .cab file that has a .wsp extension. The .wsp file is created automatically when you choose Deploy from within Visual Studio. Change the active configuration in Visual Studio from Debug to Release, and then choose Deploy Solution from the Build menu.

After it has successfully deployed the release version to your local SharePoint server, there will be a file called ContactFormWebPart.wsp in the /bin/Release subfolder of your project directory. Copy this file to a folder on your production SharePoint web server, or to a location that can be accessed from this server. Then, run the following commands from a command prompt on the production SharePoint web server. These commands will add the solution to SharePoint and then deploy the solution, making it available for use by all sites.

C:\>stsadm -o addsolution -filename ContactFormWebPart.wsp

C:\>stsadm -o deploysolution -name ContactFormWebPart.wsp -immediate 
           -allowgacdeployment -allcontenturls

Now, the web part is available for use on the production SharePoint server. Only one more thing is left to do. When you want to use it in a SharePoint site, you will need to add it to that site's web part gallery. To do this, navigate to your SharePoint site and go to Site Actions - Site Settings. Then, click on the Web Parts link under the Galleries section. This opens up a web page listing the web parts that are currently available for this site. Click New to add a new web part to the list. The next web page shows the deployed web parts. Check the box next to ContactFormWebPart.ContactForm, and then click the Populate Gallery button.

You should now see the Contact Form Web Part in the list of web parts in this site's gallery. Once the web part is in the gallery, you can edit a page in the site, and add the web part to the page, just as we did during testing.

Additional Improvements

There are some improvements that can be made to the Contact Form Web Part that we've created, but these are beyond the scope of this article. Here are some ideas for improving the Contact Form Web Part:

First, we could add validation to the fields to make sure that the required fields are filled in and that the data entered matches the expected format. For example, contact name should be required, message should be required, the email address should match the typical format of an email address, and the phone number should be in the format of a valid phone number.

Second, we could add properties to the web part to allow customization of the label text and the to and from addresses used for sending the email. These properties would allow changes to be made to the web part's appearance while editing the page in SharePoint, instead of requiring those changes to be made in the source code.

Additional Development Environment Options

Web parts can be created using Visual Studio 2005, but Visual Studio 2008 in conjunction with the downloadable extensions for WSS 3.0 make packaging and deploying your web part much easier. I highly recommend using Visual Studio 2008 for web part development, if possible.

In order to use the WSS extensions for Visual Studio 2008, the development environment needs to run on a SharePoint server. But, many developers use a client Operating System for their development instead of a server Operating System, which is required by SharePoint. This is where Microsoft Virtual PC can be really helpful. The Virtual PC will allow you to run another computer instance virtually, on your development PC, so you can create a Virtual PC image for your SharePoint web part development environment.

If you are new to web part development and want to try it out without the work of setting up a full SharePoint environment, Microsoft provides a Windows SharePoint Services 3.0 SP1 Developer Evaluation VPC Image that has WSS 3.0, Visual Studio, and the extensions already installed. You can use this with Virtual PC for an "instant" SharePoint environment.

Conclusion

In this article, you learned how to create a simple web part for SharePoint that implements a contact form that collects information and sends it as an email to a recipient. There are many more possibilities for the use of web parts, including communicating with other web parts in SharePoint, and integrating with external databases and applications. The ability of SharePoint to use custom web parts is a powerful feature that can be used to extend the functionality of SharePoint beyond what is possible with basic customization.

Revision History

  • 12/08/2008 - Initial version.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Brian Pursley
Architect CinLogic LLC
United States United States
Member
I am a software development consultant in Cincinnati, Ohio.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionAnyway to add an attachment using this way?memberMember 990787010 May '13 - 3:27 
I have used this article and created an IT Service desk webpart that will prefill in the user logged in and email an email address with items that have been entered by the user, e.g. Telephone number and fault description.
 
I have need to allow the user to browse and attach an attachment (Incase they have a screenshot of the fault in question).... Is there any way of doing this using what we have here??
 
I look forward to your responses.
 
Thanks
QuestionCannot add web part to page in SharePoint Services 3.0memberebrainiac22 May '12 - 12:17 
Hi, how are you?
 
Maybe this page is outdated, but anyway I´m leaving this comment:
After following the instructions as you explained I´m getting this Error from the "Add Web Part Zone":This is in spanish as my server is in Mexico:
"No se pueden agregar los elementos Web seleccionados.""ContactForm Web Part: Otro usuario ha desprotegido el archivo o lo tiene bloqueado para su edición."
 
I hope my english translation is good enough:"It cannot add the Web Part selected"
"ContactForm Web Part: Another user has unprotected the file or it has it blocked"
 
Thank you in advance.
 
eBrain

Questionhow to handle autopostback in dynamic loading usercontrol webpartmemberSivanantham Aravind19 Oct '11 - 20:49 
How to handle autopostback for the dynamic loading usercontrols webparts,when the user click on browser refresh autosubmit and leads to duplicate message,Thanks
GeneralSharePoint Form WebPartmembercoolbowtie20 Mar '11 - 12:48 
Here is an awsome Webpart for creating custom forms in SharePoint http://sharepointformwebpart.com/[^]it is cheap for what you get and here is a code for $15 off WDS15
GeneralServerfault in program /.memberCathrine Danielsen2 Nov '10 - 23:04 
Im getting an error when i hit the send button. The message is sent to the reciever but the user gets a serverfault. I'm gessing it doesent know how to go back after det sendbutton has been hit.
 
Any advice on how to solve??
GeneralValidationmemberfnatichohn16 Aug '10 - 0:52 
Could somebody help me with the validation?
I need it exactly for this tutorial and I can't find anything good in the Internet.
GeneralMy vote of 5memberGSRock30 Jun '10 - 20:29 
The article very concise and i liked it
GeneralField ValidationmemberMember 263969723 Apr '10 - 2:49 
Nice article. I noticed that there is no validation on fiels whether they're empty or not. I added these lines to check on field input.
 
       
            RequiredFieldValidator veldNaamValideren = new RequiredFieldValidator();
            veldNaamValideren.ID = "_veldNaamValideren";
            veldNaamValideren.ControlToValidate = _contactNaam.ID;
            veldNaamValideren.Text = " Een van de velden is niet ingevuld!";
            veldNaamValideren.ErrorMessage = "Veld Naam is leeg";
            veldNaamValideren.Display = ValidatorDisplay.Static;               
            Controls.Add(veldNaamValideren);
 
These lines have affect on the namefield. For other fields you should change the veldNaamValideren.ControlValidate = _FieldToValidate.ID;
 
This is not a 100% bulletproof filtering.
 
Feel free to comment or criticize.
Smile | :)

GeneralObject reference not set to an instance of an objectmemberkbh7iuv10 Feb '10 - 15:46 
When I tried to deploy solution I am getting this error . Can you please help on this
AnswerCreate Custom SharePoint WebParts, it is simplememberitsaranga5 Jan '10 - 21:20 
Create Custom SharePoint WebParts, it is simple.
Try this too,
Custom SharePoint WebParts
GeneralOne small problem...membertcrean9 Dec '09 - 9:14 
When I deploy I can see it in the deployed solutions in central admin. However, I don't see it anywhere in my web part gallery, or site features. How can I add this if I can't see?
 
Thanks.
GeneralProblem adding web part into WSS 3.0memberBerdia4 Nov '09 - 23:16 
Brian,
Your article is absolutely fantastic and it worked very well all the way up to deploying it to WSS 3.0 but I have a problem adding it to the actualy WSS page.
I can see it as a web part under Add Web Part window but when I tick it and click add it gives me an error: "An unexpected error has occured". Then it gives me a link to Web Parts Maintenance Page where I can see your web part and have options to close, reset or delete it.
Basicly it does not deploy it properly.
 
Any help will be appreciated.
 
Thank you.
QuestionHow do I send the form to multiple recipients using email addresses entered by user?memberSmithC2324 Sep '09 - 2:59 
I have multiple text boxes in my form for the user to enter his/her email address along with the address of the user's supervisor.
 
I need to have copies of the form sent to both the user and his/her supervisor (based on the addresses entered in the text boxes, AS WELL AS, to two email addresses that will never change. However, everytime I try to even just enter the two constant email addresses, the form won't send:

messageHeader.Add("to", "email1@company.com; email2@company.com;");

 
I also tried creating a string of all four email addresses and that didn't work either:
 
// Build the email "To:" string
System.Text.StringBuilder to = new System.Text.StringBuilder();
to.Append("email1@company.com; email2@comapny.com; ");
to.Append(txtMngrEmail.Text);
to.Append("; ");
to.Append(txtEmailAddress.Text);
to.Append(";");

 
In the code sample given on this site, Brian created a string for the subject line, and that wouldn't work, so I'm assuming that it's a problem with the string creation. HELP! (BTW, my company has WSS 3.0 ONLY...NOT MOSS!!!!)
AnswerRe: How do I send the form to multiple recipients using email addresses entered by user?memberjabit3 Jan '11 - 11:08 
I know this is an old post but I just found the answer to this one. It's a BUG!!
To have multiple email addresses in the "to" field you can use a comma-separated or semicolon-separated list of email addresses. HOWEVER, if the first Email address listed is in the same domain as the SMTP server it must look up that address to see if it is valid and if it's not valid it never even processes the next email address! But if the first email address is not in the same domain it won't even check it and will happily go on to the next address.
 
The code behind the SendEmail function in Reflector is hideous with tons batch file like GOTO code which eventually calls some unmanaged code which is where the problem is happening.
 
The moral of the story? If the Email addresses you're sending to are in the same domain as your SMTP server, make sure they are CORRECT! If not, do whatever you want.
QuestionAny idea how i would add a dropdpwnlist to this web part?membermattl803 Sep '09 - 23:13 
Thanks for the walk through Brian, just what i needed. you're a life saver.
 
i now need to add a dropdownlist to it, which im able to display but have no idea how to puplate with some values, have you any idea or could you point me in the right direction?
 
i have looked anywhere but can't find any basic examples about how i'd do this. im sure it's simple.
 
Cheers!
AnswerRe: Any idea how i would add a dropdpwnlist to this web part?memberretarded8418 Jul '10 - 23:42 
add the code:
DropDownList listName = new DropDownList();
listName.items.Add(new listItem("Option 1", "0");
listName.items.Add(new listItem("Option 2", "1");
 
where 0,1,...,n represents the order of the items in the list.
 
when querying the value of the field, use listName.SelectedItem.Text
QuestionCheckboxlist for Contact FormmemberSydney Le12 Aug '09 - 8:09 
Hi Brian,
 
How do I do if the form has checkboxlist? I know how to do the form, but i'm not sure how to codes inside btnSendMessage_Click function. Can you help?
AnswerRe: Checkboxlist for Contact FormmemberSydney Le12 Aug '09 - 11:09 
well, i figured it out.
GeneralCreate new List as the design I need.membersppradip29 Jul '09 - 0:26 
I need to create a list which is exactly as SharePoint default list. What I need to distinguish is, when user click new item then he/she will get the form (to fill data) which is my design (aspx page) instead of default one. Similar to the case of editing. Is it possible?
Smile | :) Wink | ;)
NewsNice article, this is another article how to create simple web partmemberAhmed Abu Dagga22 Jul '09 - 0:46 
Nice article
 
I'm posting this article about how to Create Simple Web Part for SharePoint 2007[^] it's a simple hello world webpart
GeneralAdd current logged in user to email subjectmemberdeliesen23 Jun '09 - 21:31 
Hello,
 

How can i add the current logged in user to the email subject?
 
Thanks in advance,
 
Dennis
Generalgood stuff, learning lots by this article alone, but small problemmemberbidzey8 May '09 - 2:54 
I managed to get this going, but I had to use the downloadable package Brian left on top of the page. I followed the instructions but I was getting an error saying that the feature name "WebParts" already existed in Sharepoint. I wanted to get it going from the package I made following the steps (wich are pretty straight forward) but I couldn't get that error fixed. After googling it, I searched all the code looking for "WebParts" to replace with the correct name, but couldn't find anything relevant, and really I simply just didn't understand the error. So I downloaded the code package and that one worked fine. How did I get that feature name error, and what would I do to fixed it?
 
Also, I'm just starting with sharepoint, and would like to know how I would make those improvements mentioned above, like having the user define the fields wanted, be able to validate them, and setting the receipient and the "from" , is there a place I could educate myself on this? I do have SharePoint Designer 2007 available to me if that helps my situation. I know I need to migrate over to C#, but the long learning curve doesn't scare me, but if I can shorten it a bit I wouldn't mind that either.
 
modified on Friday, May 8, 2009 9:17 AM

GeneralRe: good stuff, learning lots by this article alone, but small problemmemberNioosha Kashani10 Jun '09 - 1:14 
I highly recommend using SharePoint Designer before migrating to C#. you can do many customization with SharePoint Designer. futhermore, you need solid undrestanding of SharePoint and SharePoint Designer before switching to C# development for SharePoint. best and quickest possible resource for SharePoint designer that i know is: Total Training Video for SharePoint Designer 2007 (not exact name)
QuestionNice Contact Form Web Part - Wants SP Services 3.0 w/ VS 2005 - ??? Who devs on Win 2003 Server w/ VS 2005???memberAnotherOpus15 Apr '09 - 8:30 
I like this article.
 
I'm on XP with VS 2005 and I do not have C# Sharepoint as an option under File, New (in the dialogue box).
 
So to get them I researched and I tried to install SP Services 3.0.
 
It won't install without Server 2003. So, who develops on a Win 2003 box?
 
How can I get C# Sharepoint options in File New, (on VS 2005 hanging off of XP), as shown in this article?
 
Thank you,
 
Christopher
AnswerRe: Nice Contact Form Web Part - Wants SP Services 3.0 w/ VS 2005 - ??? Who devs on Win 2003 Server w/ VS 2005???memberNioosha Kashani10 Jun '09 - 1:01 
You can use virtual technologies like Sun Virtual Box or Microsoft Virtual PC. You can easily install Win2003 from a CD or ISO file and then you can install WSS 3.0 and Visual Studio on that BOX. you can have your XP untouched and delete your virual HDD whenever you want. Virtualization is great for testing and learning purposes.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 8 Dec 2008
Article Copyright 2008 by Brian Pursley
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid