Hi Dude,
Alter your code like this
1)Stored Procedure :
SELECT
(ISNULL(Material_name,'')+''+ISNULL(Size,'')) [MaterialNameText],
(ISNULL(Material_name,'')+'#separator#'+ISNULL(Size,'')) [MaterialNameValue]
FROM Materials
NOTE: In SQL concordinate try to use isnull
2)In C# Code
drpMaterialName.DataSource = ClassLibrary1.mainclass.dset("Purchase_Material_Name", "");
drpMaterialName.DataValueField = "MaterialNameValue";
drpMaterialName.DataTextField = "MaterialNameText";
DataBind()
Bind MaterialNameValue in Data value Field (it contain separator)
Bind MaterialNameText in Text Field
String [] strValue=Convert.ToString(drpdownList.SelectedValue).Split('#separator#');
String Material_name=strValue[0].Trim();
String Size=strValue[1].Trim();
Now you can easily store value into db
Note:Try to use Convert.ToString() insted of TOString()