当我从下拉菜单中选择列表项时,我希望能够更改我的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()方法中创建此登录名。如果是这样,我将如何通过下拉事件方法?
非常感谢任何进一步的帮助。非常感谢
答案 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();
}
}