如何使用下拉列表呈现html表?

时间:2015-05-11 09:37:09

标签: c# html asp.net

当我从下拉菜单中选择列表项时,我希望能够更改我的html表。

例如,

更新了HTML逻辑:

 <tbody>
 <tr>
 <th><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></th>
 <th><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></th>
 <th><asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></th>
 </tr>
  <tr>
    <asp:Literal ID="litInfo" runat="server"></asp:Literal>
  </tr>
  </tbody>

<p><asp:DropDownList ID="ddlDate" runat="server" Width="200px" OnSelectedIndexChanged="myListDropDown_Change" AutoPostBack="True">

        </asp:DropDownList></p>

每周()函数:

     public string weekly()
    {
        string htmlStr = "";
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandText = "select Deal, [property], [event], [Date] from [dbo].[Database_CRE]";
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            string name = reader.GetString(0);

            string loan = reader.GetString(1);

            string evnt = reader.GetString(2);

            string b = linkTag(name);

            htmlStr += "<tr><td>" + b + "</td>" + "<td>" + loan + "</td>" + "<td>" + evnt + "</td></tr>";
        }
        con.Close();
        return htmlStr;
    }

更新了服务器代码:

     protected void myListDropDown_Change(object sender, EventArgs e)
    {
        DropDownList ddl = FindControl("ddlDate") as DropDownList;
        if (ddl != null)
        {
            if (ddl.SelectedIndex == 1)
            {
                litInfo.Text = weekly();
            }
        }
    }


   protected void Page_Load(object sender, EventArgs e)
    {         
            //Add item to DropDownList
            ddlDate.Items.Insert(0, "Select Timeline");
            ddlDate.Items.Insert(1, "Weekly");
            ddlDate.Items.Insert(2, "Monthly");

            litInfo.Text = current();            
    }

我想构建逻辑,如果我从下拉菜单中选择每周选项,我希望html表呈现weekly()。方法。

我是否需要在current()方法中创建此登录名。如果是这样,我将如何通过下拉事件方法?

非常感谢任何进一步的帮助。非常感谢

2 个答案:

答案 0 :(得分:1)

你可以在这里使用3 Panels。每个都有不同的HTML表格模板,如你想要的每周或每月或其他。然后根据下拉选项,一次只显示其中一个。

这样,您就不必在代码隐藏中添加太多代码,只需根据选择使用这3个Panel中的visibility

答案 1 :(得分:0)

替换

<%=current()%> 

<asp:Literal ID="litInfo" runat="server"></asp:Literal>

然后在后面的代码中添加以下代码

 protected void Page_Load(object sender, EventArgs e)
 {
     litInfo.Text=current();
 }

现在将您的Change事件更改为

protected void myListDropDown_Change(object sender, EventArgs e)
    {

        if (ddlDate.SelectedValue == "Weekly")
        {
            litInfo.Text= weekly();


        }
        else if (ddlDate.SelectedValue == "Monthly")
        {
            litInfo.Text=monthly();


        }

    }