我创建了Web应用程序。我添加下拉列表。我将列表与表类别的名称连接起来。例如1,2,3。当我选择值1时,应该创建填充了表1中数据的网格视图。当我选择2创建网格视图时,填充表2中的数据。 我连接SQL数据库中的表。 PrimaryKey类别ID,外键1,外键2 approprietly。
我知道如何通过下拉列表中的选择值填充网格视图,但是来自一个表的值。在这种情况下,我有4个表,我不知道如何实现这一点。有人可以帮助我吗?通过一些教程或一段代码?感谢
答案 0 :(得分:1)
试试这个......
aspx页面:
<body>
<form runat="server">
<asp:DropDownList runat="server" ID="ddlDb" AutoPostBack="True" OnSelectedIndexChanged="ddlDb_SelectedIndexChanged">
<asp:ListItem Text="-- Select --" Value=""></asp:ListItem>
<asp:ListItem Text="Students" Value="Students"></asp:ListItem>
<asp:ListItem Text="Classes" Value="Classes"></asp:ListItem>
</asp:DropDownList>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</form>
</body>
aspx.cs:
protected void ddlDb_SelectedIndexChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ddlDb.SelectedValue))
{
var dbPath = Server.MapPath(@"\App_Data\Database1.mdf");
var scon = "Data Source=.\\SQLEXPRESS;AttachDbFilename='" + dbPath + "';Integrated Security=True;User Instance=True";
var cmd = "select * from " + ddlDb.SelectedValue;
var dt = new DataTable();
var da = new SqlDataAdapter(cmd, scon);
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}