问题:
第2个列表根据第1个改变.
当选择第2个列表的时候.
他总是默认选中第2个列表内容的第一个值.
无论如何也取不到我选中的值.郁闷啊
小弟是新手,,对ajax认识还不全.希望高手们帮帮忙啊.
//区域名字
static string qu = "";
//镇名字
static string zhen = "";
//页面加载第一个列表
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Bind();
}
//绑定第一个列表
protected void Bind()
{
this.ddla.DataSource = are.Getcity();
this.ddla.DataTextField = "city";
this.ddla.DataValueField = "id";
this.ddla.DataBind();
} //获取区域
protected void ddla_SelectedIndexChanged(object sender, EventArgs e)
{
//清空第2列表
this.ddlb.Items.Clear();
qu = this.ddla.SelectedItem.Text.ToString(); ;
//绑定镇列表
int cid = int.Parse(this.ddla.SelectedValue);
foreach (DataRow dr in are.GetArea(cid).Rows)
{
this.ddlb.Items.Add(dr[0].ToString());
}
} //页内区域搜索
protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(1000);
zhen = this.ddlb.SelectedItem.ToString();
//.....
this.Label1.Text = qu + ":" + zhen + "该条件下所有房屋信息";
}这是设计:
<asp:ScriptManager id="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdateProgress id="UpdateProgress1" runat="server">
<progresstemplate>
</progresstemplate>
数据处理中....
</asp:UpdateProgress>
<asp:UpdatePanel id="UpdatePanel1" runat="server">
<contenttemplate>
<TABLE style="WIDTH: 200px" id="TABLE1" runat="server"><TR><TD><asp:Label id="Label1" runat="server" ForeColor="Blue" Font-Size="Small" Font-Bold="True"></asp:Label><asp:DropDownList id="ddla" runat="server"></asp:DropDownList><asp:DropDownList id="ddlb" runat="server"></asp:DropDownList><asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="搜索" Height="22px" Width="41px"></asp:Button></TD></TR></TABLE>
</contenttemplate>
</asp:UpdatePanel>
第2个列表根据第1个改变.
当选择第2个列表的时候.
他总是默认选中第2个列表内容的第一个值.
无论如何也取不到我选中的值.郁闷啊
小弟是新手,,对ajax认识还不全.希望高手们帮帮忙啊.
//区域名字
static string qu = "";
//镇名字
static string zhen = "";
//页面加载第一个列表
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Bind();
}
//绑定第一个列表
protected void Bind()
{
this.ddla.DataSource = are.Getcity();
this.ddla.DataTextField = "city";
this.ddla.DataValueField = "id";
this.ddla.DataBind();
} //获取区域
protected void ddla_SelectedIndexChanged(object sender, EventArgs e)
{
//清空第2列表
this.ddlb.Items.Clear();
qu = this.ddla.SelectedItem.Text.ToString(); ;
//绑定镇列表
int cid = int.Parse(this.ddla.SelectedValue);
foreach (DataRow dr in are.GetArea(cid).Rows)
{
this.ddlb.Items.Add(dr[0].ToString());
}
} //页内区域搜索
protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(1000);
zhen = this.ddlb.SelectedItem.ToString();
//.....
this.Label1.Text = qu + ":" + zhen + "该条件下所有房屋信息";
}这是设计:
<asp:ScriptManager id="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdateProgress id="UpdateProgress1" runat="server">
<progresstemplate>
</progresstemplate>
数据处理中....
</asp:UpdateProgress>
<asp:UpdatePanel id="UpdatePanel1" runat="server">
<contenttemplate>
<TABLE style="WIDTH: 200px" id="TABLE1" runat="server"><TR><TD><asp:Label id="Label1" runat="server" ForeColor="Blue" Font-Size="Small" Font-Bold="True"></asp:Label><asp:DropDownList id="ddla" runat="server"></asp:DropDownList><asp:DropDownList id="ddlb" runat="server"></asp:DropDownList><asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="搜索" Height="22px" Width="41px"></asp:Button></TD></TR></TABLE>
</contenttemplate>
</asp:UpdatePanel>
改成
zhen = this.ddlb.SelectedItem.value.ToString();
或者
zhen = this.ddlb.SelectedItem.Text.ToString();
还是不行.
再来几个高手帮忙看看啊...
我的2个列表只有第一个有列表有 AutoPostBack="True" 这个属性
其他都没有
第2个如果也等于true就更选不中了.怎么回事啊.
有谁能加我Q363473798 帮忙详细解释下.
再搞不好老板今天晚上会杀了我