Something like this might give you what you need, but I think to be most effective you need to normalise your data a bit, separate the vendors from the asset types then have a join table.
The code below isn't exact so you might need to tweak it properly but you should get the idea.
public void dddl()
{
DataTable objDt = new DataTable();
objDt.Columns.Add("Vendor_Name");
string serial = TextBox8.Text;
Session["St"] = TextBox8.Text;
string[] s = serial.Split(',');
var sbuilder = new StringBuilder();
sbuilder.AppendLine("Select Vendor_Name from Vendor");
for (int i = 0; i < s.Length; i++)
{
if(i ==0)
sbuilder.Append(" Where ");
sbuilder.Append(string.Format("Vendor_Name in (Select Vendor_Name from Vendor where Asset_Type like @a{0})", i));
if(i < s.Length-1)
sbuilder.Append( " AND ");
}
SqlDataAdapter adpt = new SqlDataAdapter(sbuilder.ToString(), con);
for(int i=0; i< s.Length; i++)
{
adpt.SelectCommand.Paramters.AddWithValue(string.format("@a{0}", i), s[i]);
}
DataTable dt = new DataTable();
adpt.Fill(objDt);
objDt = objDt.DefaultView.ToTable(true, "Vendor_Name");
DropDownList4.DataTextField = "Vendor_Name";
DropDownList4.DataValueField = "Vendor_Name";
DropDownList4.DataSource = objDt;
DropDownList4.DataBind();
con.Close();
}