我一直在标题行中得到上述错误,这没有任何意义,因为我使用的样本表只有5条记录,每条记录都有一个根据下拉菜单的值.
这是我用来声明下拉列表的代码.我在SQL数据源中加入了两个表来反映我想要在网格视图中填充的内容,并根据需要隐藏列.我使用相同的数据源来填充下拉列表,任何帮助将是最受欢迎的
<asp:DropDownList ID="DropDownListCurrency" runat="server"
CausesValidation="True" DataSourceID="GridView"
DataTextField="Currency" DataValueField="Currency_ID"
AppendDataBoundItems="True">
<asp:ListItem Value="0" Text="<Select>" Enabled="True"></asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
GridViewRow row = GridView1.SelectedRow;
AccountNumber.Text = (string)row.Cells[0].Text;
....
DropDownListCurrency.SelectedValue = (string)row.Cells[8].Text;
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
Run Code Online (Sandbox Code Playgroud) 即时尝试编写一个公共函数,可以在我的所有页面调用,以便在插入数据后清除所有文本框.我这样用过它:
public void clean(Control parent)
{
try
{
foreach (Control c in parent)
{
TextBox tb = c as TextBox; //if the control is a textbox
tb.Text = String.Empty; //display nothing
}
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
Run Code Online (Sandbox Code Playgroud)
然而,foreach提出了一个错误说法
"无法对变量类型system.web.ui.control进行操作,因为它不包含getenumerator的公共函数.
任何人都可以建议替代?