Hi bakhtawar,
I have created a sample which full fill your requirement
HTML
<div align="center">
<table>
<tr>
<td>
<asp:DropDownList runat="server" ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropdownChanged"
AppendDataBoundItems="true">
<asp:ListItem Text="-Select-" Value="0" />
</asp:DropDownList>
</td>
<td>
<asp:GridView runat="server" ID="gvDetails" />
</td>
</tr>
</table>
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("No"), new DataColumn("Name") });
dt.Rows.Add(25, "John Hammond");
dt.Rows.Add(1, "Mudassar Khan");
dt.Rows.Add(28, "Suzanne Mathews");
dt.Rows.Add(2, "Maria");
dt.Rows.Add(3, "Ana Trujillo");
dt.Rows.Add(4, "Antonio Moreno");
dt.Rows.Add(5, "Thomas Hardy");
dt.Rows.Add(6, "Christina Berglund");
dt.Rows.Add(7, "Hanna Moos");
dt.Rows.Add(32, "Robert Schidner");
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "No";
DropDownList1.DataBind();
BindGrid();
}
}
protected void DropdownChanged(object sender, EventArgs e)
{
int selectedValue = Convert.ToInt32(DropDownList1.SelectedValue);
CustomersDataContext cde = new CustomersDataContext();
Customer existingCustomer = (from customer in cde.Customers
where customer.CustomerId == selectedValue
select customer).FirstOrDefault();
if (DropDownList1.SelectedValue != "0")
{
if (existingCustomer != null)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", "alert('Record " + selectedValue + " already exists')", true);
}
else
{
try
{
Customer newCustomer = new Customer
{
CustomerId = selectedValue,
Name = DropDownList1.SelectedItem.Text,
Country = "UAE"
};
cde.Customers.InsertOnSubmit(newCustomer);
cde.SubmitChanges();
}
catch (Exception ex)
{
}
}
BindGrid();
}
}
public void BindGrid()
{
CustomersDataContext cde = new CustomersDataContext();
gvDetails.DataSource = from customers in cde.Customers
select customers;
gvDetails.DataBind();
}
ScreenShot