Answers.com free asp.net project with source codes
This website allows members to post questions and answers on different topics. It
resembles Yahoo answers website.
This application uses
ASP.NET pages for presentation.
ObjectDataSource
is used to get data from Data Access Layer (
DAL).
Stored procedures
are used to perform all important operations related to database in
SQL
Server.
The following are major activities in this application
- User Registration
- Login
- Password Recovery
- Posting question
- Posting answer
- Searching questions
- Displaying details of a question
- Displaying most recent questions
- Displaying questions of current user
- Changing password
- Logout
Technologies and Products Used
- ASP.NET 3.5
- C# language
- Visual Studio.NET 2008
- SQL Server 2005 Express Edition
- ADO.NET
- Login controls - Membership
- Stored procedures using T-SQL.
- Identify columns for auto increment columns
- Master pages and Themes
- Navigation controls - Treeview, SiteMapPath etc.
- DataBound controls such as GridView, FormView etc.
- ObjectDataSource to get data from DAL and bind data to data-bound controls such
as FormView and GridView.
- Data Access Layer - DAL, to access database.
Steps to download, deploy and run this project
The following are the steps to related to be taken to run this application. This
project makes use of membership feature of ASP.NET. So,we have to configure the website using ASP.NET Configuration tool as
explained below.
- Download answers.rar and unzip it into any directory in your system.
For example, if you extract to c:\ then it will create a directory c:\answers.
The download contains all ASP.NET pages but it has NO DATABASE. We have to create database objects using
ASP.NET configuration tool manually.
- Open Visual Studio.NET 2008 or Visual Web Developer 2008.
- Open the project from the directory into which you extracted project.For example,
c:\answers
- Select Website->ASP.NET Configuration option
- Select Security tab
- Select Use the security Setup Wizard to configure security step by step.
- Select From Internet option in Step 2
- Click on Next button in the remaining screens and finally click on Finish.
- It create a database called ASPNETDB.MDF with required tables and other database components
- Open the database in Server explorer or Database Explorer and create tables using the following
script. Use New Query
to open query window and type the following commands in SQL Pane.
create table categories
( catcode varchar(10) primary key,
catname varchar(50),
catdesc varchar(200),
noquestions int
)
create table questions
( qid int identity primary key,
title varchar(100),
question varchar(2000),
addedon datetime,
catcode varchar(10) references categories(catcode),
userid uniqueidentifier references aspnet_users(userid)
)
create table answers
( aid int identity primary key,
qid int references questions(qid),
answer varchar(2000),
addedon datetime,
userid uniqueidentifier references aspnet_users(userid)
)
insert into categories values('music','Music','Songs , Albums etc.')
insert into categories values('sports','Sports and Games','Sports and Games')
insert into categories values('health','Health and diet','Health, diet and excercise')
- Create the following stored procedure in the database.
CREATE PROCEDURE dbo.AddQuestion(@userid UniqueIdentifier, @title varchar(100),@question varchar(2000), @catcode varchar(10))
AS
begin tran
insert into questions (title,question, catcode,addedon, userid)
values(@title,@question, @catcode, getdate(), @userid);
update categories set noquestions = noquestions + 1
where catcode = @catcode;
commit tran
CREATE PROCEDURE dbo.GetAllCategories
AS
select * from categories
order by catname
CREATE PROCEDURE dbo.GetAnswers(@qid int)
AS
select aid,answer, addedon, username, a.userid
from answers a inner join aspnet_users u on ( a.userid = u.userid)
where qid = @qid
order by aid desc
CREATE PROCEDURE dbo.GetQuestionDetails
(@qid int)
AS
select qid,title,question, c.catcode, catname, addedon, username, q.userid
from questions q inner join categories c on ( c.catcode = q.catcode)
inner join aspnet_users u on ( q.userid = u.userid)
where qid = @qid
CREATE PROCEDURE dbo.GetRecentQuestions
AS
select top 10 qid, c.catcode,catname,title,addedon
from questions q inner join categories c
on (q.catcode = c.catcode)
order by qid desc
CREATE PROCEDURE dbo.SearchQuestions
(@pattern varchar(100) )
AS
select qid, c.catcode,catname,title,addedon
from questions q inner join categories c
on (q.catcode = c.catcode)
where title like '%' + @pattern + '%' or question like '%' + @pattern + '%'
order by qid desc
CREATE PROCEDURE dbo.AddAnswer
( @qid int, @userid uniqueidentifier, @answer varchar(2000))
AS
insert into answers (qid,userid,answer,addedon)
values( @qid,@userid,@answer, getdate())
- Goto Solution Explorer and make login.aspx the startup page.
- Run project from Visual Studio.NET 2008 or Visual Web Developer 2008.
- You should see login.aspx page.