我为了往服务器传值用autopostback,我已经把dropdownlist放到updatapanel里面了 但是页面还是刷新 为什么 代码如下

a2230030100 2012-05-25 12:06:18
前台大概这样的

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="zc.aspx.cs" Inherits="DtCms.Web.Aspx.zc" EnableEventValidation="false" %>

<%@ Register TagPrefix="DtContorl" Namespace="DtCms.Web.UI" Assembly="DtCms.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><%= SiteConfig.WebName %></title>
<!-- ===== css ===== -->

</head>
<body onLoad="init()">
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<td width="200px"></td><td width="130px" align="right">籍贯:</td><td width="130px">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="ddlProvince" runat="server"
onselectedindexchanged="ddlProvince_SelectedIndexChanged1" AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</div>

</form>
</body>
</html>

后台大概这样的

protected void ddlProvince_SelectedIndexChanged1(object sender, EventArgs e)
{
ddlCity.DataSource = bll.GetCity(ddlProvince.SelectedValue.ToString()).DefaultView;//根据页面的返回值传递信息绑定城市信息
ddlCity.DataTextField = bll.GetCity(ddlProvince.SelectedValue.ToString()).Columns[0].ToString();
ddlCity.DataBind();
}
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shen_zhijin 2012-08-02
  • 打赏
  • 举报
回复
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<p>
         
<asp:Label ID="lbldepartment" runat="server" Text="部门:"></asp:Label>
 <asp:DropDownList ID="ddldepartment" runat="server" AutoPostBack="True"
onselectedindexchanged="ddldepartment_SelectedIndexChanged">
</asp:DropDownList>
<p>
         
<asp:Label ID="lblsubdepartment" runat="server" Text="科室:"></asp:Label>
 <asp:DropDownList ID="ddlsubdepartment" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlsubdepartment_SelectedIndexChanged">
</asp:DropDownList>
</p>
<p>
         
<asp:Label ID="lblposition" runat="server" Text="职位:"></asp:Label>
 <asp:DropDownList ID="ddlposition" runat="server"
onselectedindexchanged="ddlposition_SelectedIndexChanged">
</asp:DropDownList>
</p>
</ContentTemplate>
</asp:UpdatePanel>
我用UpdatePane做了的autopostback=true 时,页面无刷新,是没问题的。
注意点:<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManger1" runat="server">
</asp:ScriptManager>
在表单form的下面要加上这两句话,不然会有错误哦
紫魂一号 2012-05-25
  • 打赏
  • 举报
回复
也许楼上的正确
WHI 2012-05-25
  • 打赏
  • 举报
回复
updatepanel 要指定控件及控件的事件
<triggers>标签 好像是这个功能
WHI 2012-05-25
  • 打赏
  • 举报
回复

<asp:ScriptManager runat="server">
</asp:ScriptManager>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlTest" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlTest_SelectedIndexChanged">
<asp:ListItem Text="aaaa" Value="1"></asp:ListItem>
<asp:ListItem Text="bbb" Value="2"></asp:ListItem>
<asp:ListItem Text="ccc" Value="3"></asp:ListItem>
<asp:ListItem Text="ddd" Value="4"></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlTest"
EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
licai1210 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:

C# code

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<table>
<tr>
<td width="13……

和我做的有什么不同 我哪里弄错了能给说下嘛……
[/Quote]
和你的没什么不同,就把标签补全了,然后你看看你的绑定数据有没有错误。其他没什么
a2230030100 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C# code

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<table>
<tr>
<td width="13……
[/Quote]
和我做的有什么不同 我哪里弄错了能给说下嘛?
licai1210 2012-05-25
  • 打赏
  • 举报
回复

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<table>
<tr>
<td width="130px" align="right">
籍贯:
</td>
<td width="130px">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="ddlProvince" runat="server" OnSelectedIndexChanged="ddlProvince_SelectedIndexChanged1"
AutoPostBack="true">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</div>
</form>


protected void ddlProvince_SelectedIndexChanged1(object sender, EventArgs e)
{
//ddlCity.DataSource = bll.GetCity(ddlProvince.SelectedValue.ToString()).DefaultView;//根据页面的返回值传递信息绑定城市信息
//ddlCity.DataTextField = bll.GetCity(ddlProvince.SelectedValue.ToString()).Columns[0].ToString();
//ddlCity.DataBind();
ddlCity.Items.Add(new ListItem("3", "3"));
}
xuan.ye 2012-05-25
  • 打赏
  • 举报
回复
没用的dropdownlist 压根就不支持updatepannel方式的无刷新
a2230030100 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

UpdatePanel要放在一个完整的标签中才会不刷新,你用UpdatePanel把table包住
[/Quote]
我放到table里面还是不行啊 哥哥 还有别的招数么
师太请留步 2012-05-25
  • 打赏
  • 举报
回复
UpdatePanel要放在一个完整的标签中才会不刷新,你用UpdatePanel把table包住
a2230030100 2012-05-25
  • 打赏
  • 举报
回复
自己顶= =!

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧