我的按钮和下拉菜单有问题,当我单击按钮并在后面的代码中调用一个方法时,后面的代码不是采用下拉菜单的当前文本,而是采用刷新网站后的文本。的aspx代码是:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager" EnablePageMethods="true" runat="server" />
<div>
<table runat="server" id="showDBTable">
<tr>
<td>
<asp:Button ID="showDB" runat="server" OnClick="showDBContent" Text="Show database content" />
</td>
<td>
<asp:DropDownList runat="server" ID="showDBDropDown" OnLoad="FindExistingMetaTag" />
</td>
</tr>
</table>
</div>
</form>
以及后面的代码:
protected void showDBContent(object sender, EventArgs e)
{
String queryString = "";
if (showDBDropDown.Text == "Show all")
{
queryString = "SELECT * from dbo.Search";
}
else
{
queryString = "SELECT * from dbo.Search where Tag = '" + (showDBDropDown.Text).TrimStart().TrimEnd() + "'";
}
我该如何解决?
编辑-根据要求:
protected void FindExistingMetaTag(object sender, EventArgs e)
{
String queryString = "SELECT TAG from dbo.Tags";
List<String> tagsShow = new List<String>();
tagsShow.Add("Show all");
using (SqlConnection conn = new SqlConnection(info.connectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = queryString;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
tagsShow.Add(reader.GetString(0));
}
}
}
showDBDropDown.DataSource = tagsShow;
showDBDropDown.DataBind();
showDBDropDown.SelectedIndex = 0;
}
我只是注意到它可能是“ showDBDropDown.SelectedIndex = 0;”,但是它似乎并没有改变任何东西来将其删除。
我认为您需要从中删除该OnLoad
属性showDBDropDown
:
<asp:DropDownList runat="server" ID="showDBDropDown" />
并在第一次加载时填充showDBDropDown
inPage_Load
方法的内容,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDropdowns();
}
}
private void BindDropdowns()
{
String queryString = "SELECT TAG from dbo.Tags";
List<String> tagsShow = new List<String>();
tagsShow.Add("Show all");
using (SqlConnection conn = new SqlConnection(info.connectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = queryString;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
tagsShow.Add(reader.GetString(0));
}
}
}
showDBDropDown.DataSource = tagsShow;
showDBDropDown.DataBind();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句