I'm not entirely sure what you mean by "pass 'dataval' value to the Model.Contlist.ToList<>(); list" - but I'm guessing it means "I want to use this as an index"
Why are you converting an integer value to an integer?
So try:
private void ComboBox_SelectedValueChanged(object sender, EventArgs e)
{
if (dataSourceNameComboBox.SelectedItem != null)
{
int dataval = Convert.ToInt32(datatypeComboBox.SelectedIndex);
Model.ContProduct.Id= dataval ;
ContListViewModel cvm = Model.Contlist[dataval];
...
}
}
But to be honest, I'd probably load the Comboxbox with the ContlistViewModel items directly, and use the SelectedItem property instead, overriding ToString in the class as necessary.