为何我绑定的dropdownlist每次都要刷新一次页面才可以显示
我直接贴我的代码了,我希望的效果是,每次点击删除分类,就可以直接删除DROPDOWNLIST中的信息,而不用每次都重新刷新页面.protectedvoidPage_Loa...
我直接贴我的代码了,我希望的效果是,每次点击删除分类,就可以直接删除DROPDOWNLIST 中的信息,而不用每次都重新刷新页面.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDropList();
}
}
/// <summary>
/// 绑定dropdownlist
/// </summary>
public void BindDropList()
{
DataSet DS=new DataSet();
DS = new database().QueryDataSet("SELECT id,[分类名称],[分类英文名称] FROM [精选案例分类]");
if (DS.Tables[0].Rows.Count > 0)
{
DataTable Dt = DS.Tables[0].Clone();
DataRow DR;
for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
{
DR = Dt.NewRow();
DR["id"] = DS.Tables[0].Rows[i]["id"];
DR["分类名称"] = DS.Tables[0].Rows[i]["分类名称"] + " " + DS.Tables[0].Rows[i]["分类英文名称"];
Dt.Rows.Add(DR);
}
delClassList.DataTextField = "分类名称";
delClassList.DataValueField = "id";
delClassList.DataSource = DS;
delClassList.DataBind();
}
}
protected void delClass_Click(object sender, EventArgs e)
{
try
{
string delId = Request["delClassList"];
if (delId != string.Empty)
{
if (new database().ExcuteSql("DELETE FROM [精选案例分类] WHERE id=" + delId) > 0)
{
ErrMsg.Text = "删除成功!";
}
}
BindDropList();
}
catch (Exception ee)
{
ErrMsg.Text = ee.ToString();
}
}
-----------------------------------------
页面代码
<table align="center" background="images/dot_1.gif" bgcolor="#ffffff" border="1"
bordercolor="#ffffff" cellpadding="2" cellspacing="1" width="98%">
<tr class="topbg">
<td bgcolor="#e1e1e1" colspan="2"><a href="#" name="aboutus1" ></a>
维护精选案例分类</td>
</tr>
<tr class="trbg">
<td align="right" bgcolor="#f0f0f0" width="80">
删除分类:</td>
<td>
<asp:DropDownList ID="delClassList" runat="server">
</asp:DropDownList>
<asp:Button ID="delClass" runat="server" OnClick="delClass_Click" Text="删除当前分类" /></td>
<td align="center" colspan="2">
<asp:Label ID="ErrMsg" runat="server"></asp:Label></td>
不是呀, 我再 delClass_Click 函数中,删除了分类之后,又重新绑定的。 展开
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDropList();
}
}
/// <summary>
/// 绑定dropdownlist
/// </summary>
public void BindDropList()
{
DataSet DS=new DataSet();
DS = new database().QueryDataSet("SELECT id,[分类名称],[分类英文名称] FROM [精选案例分类]");
if (DS.Tables[0].Rows.Count > 0)
{
DataTable Dt = DS.Tables[0].Clone();
DataRow DR;
for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
{
DR = Dt.NewRow();
DR["id"] = DS.Tables[0].Rows[i]["id"];
DR["分类名称"] = DS.Tables[0].Rows[i]["分类名称"] + " " + DS.Tables[0].Rows[i]["分类英文名称"];
Dt.Rows.Add(DR);
}
delClassList.DataTextField = "分类名称";
delClassList.DataValueField = "id";
delClassList.DataSource = DS;
delClassList.DataBind();
}
}
protected void delClass_Click(object sender, EventArgs e)
{
try
{
string delId = Request["delClassList"];
if (delId != string.Empty)
{
if (new database().ExcuteSql("DELETE FROM [精选案例分类] WHERE id=" + delId) > 0)
{
ErrMsg.Text = "删除成功!";
}
}
BindDropList();
}
catch (Exception ee)
{
ErrMsg.Text = ee.ToString();
}
}
-----------------------------------------
页面代码
<table align="center" background="images/dot_1.gif" bgcolor="#ffffff" border="1"
bordercolor="#ffffff" cellpadding="2" cellspacing="1" width="98%">
<tr class="topbg">
<td bgcolor="#e1e1e1" colspan="2"><a href="#" name="aboutus1" ></a>
维护精选案例分类</td>
</tr>
<tr class="trbg">
<td align="right" bgcolor="#f0f0f0" width="80">
删除分类:</td>
<td>
<asp:DropDownList ID="delClassList" runat="server">
</asp:DropDownList>
<asp:Button ID="delClass" runat="server" OnClick="delClass_Click" Text="删除当前分类" /></td>
<td align="center" colspan="2">
<asp:Label ID="ErrMsg" runat="server"></asp:Label></td>
不是呀, 我再 delClass_Click 函数中,删除了分类之后,又重新绑定的。 展开
展开全部
要实现这种不刷新的效果,需要在前台使用JavaScript对DROPDOWNLIST进行删除操作。如果需要使用C#代码读取数据库的话,就使用AJAX吧,不会刷新整个页面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你用Ajax吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在BindDropList()中DropDownList绑定之前加一句
delClassList.Items.Clear();
delClassList.Items.Clear();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询