You are getting error because no listitem is not set in dropdown when a selected value is set. So in below code I added demo ListItem in dropdown control(you can change it as per your requirement).
<asp:GridView ID="Gridviewclass" runat="server" >
<Columns>
<asp:TemplateField HeaderText="Myclass">
<ItemTemplate>
<asp:DropDownList ID="ddlclass" runat="server" DataTextField="Name" DataValueField="classID"
SelectedValue='<%# Bind("classID") %>' >
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Marks" SortExpression="Marks">
<ItemTemplate>
<asp:TextBox ID="txtMarks" runat="server" Text='<%# Bind("Marks") %>' ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Note: If you want to bind data to dropdown from database then you need to use OnRowDataBound property of gridview. Please use below link for reference.
http://www.aspsnippets.com/Articles/How-to-populate-DropDownList-in-GridView-in-ASPNet.aspx[
^]