Asp.net DROPDOWNLIST选择的指数变化,框TextChanged事件不火? (C#) [英] Asp.net Dropdownlist selected index changed AND TextChanged Events not Fire? (C#)
问题描述
我是新来的ASP> NET(C#)。但我在使用前WinForm的。
在我的项目,我有两个下拉列表。如果我改变的人,......第二会改变汽车。
不过,即使活动也没有在ASP.net射击。如果没有事件如何我管理的?
< DIV ID ='DIV1级=UI内容UI的身体一个=服务器>
< ASP:DropDownList的ID =ddlOutlet=服务器的AutoPostBack =真onselectedindexchanged =ddlOutlet_SelectedIndexChanged
ontextchanged =ddlOutlet_TextChanged>
< / ASP:DropDownList的>
< BR />
< ASP:DropDownList的ID =ddlServedAt=服务器>
< / ASP:DropDownList的>
< BR />
< ASP:按钮的ID =btnLogin=服务器文本=登录/>
< / DIV>
C#
我已经在页面加载事件既下拉列表中添加的条目。但是,当我改变ddlOutlet选定的索引改变事件不触发。于是,我就框TextChanged事件也。但是什么都没有发生。什么是问题?
网页加载事件 -
保护无效的Page_Load(对象发件人,EventArgs的发送)
{
HelpingFunctions马力=新HelpingFunctions(); 字符串ID =的Request.QueryString [身份证]; 的MySqlConnection连接=新的MySqlConnection(服务器= 192.168.1.100;用户名= mcubic;密码= MCS @ $ 2011;数据库= mcubic;);
查询字符串=SELECT c.Outlet_Master_Name,d.Fbserved_Served FROM mcs_user一个,mcs_user_outlet B,outlet_master C,fb_served d其中a.Mcs_User_Id ='+身份证+和
+a.Mcs_User_Id = b.Mcs_User_Outlet_User_Id和c.Outlet_Master_Id = b.Mcs_User_Outlet_Outlet_Id和c.Outlet_Master_Id = d.Fbserved_outletid;
MySqlCommand的命令=新的MySqlCommand(查询,连接);
connection.Open();
MySqlDataReader将读卡器= Command.ExecuteReader却();
而(Reader.Read())
{
ddlOutlet.Items.Add器(Reader [0]的ToString());
ddlServedAt.Items.Add器(Reader [1]的ToString());
}
connection.close()时;
}
选定的项目 -
保护无效ddlOutlet_SelectedIndexChanged(对象发件人,EventArgs的发送)
{
的MySqlConnection连接=新的MySqlConnection(服务器= 192.168.1.100;用户名= mcubic;密码= MCS @ $ 2011;数据库= mcubic;);
查询字符串=从fb_served选择Fbserved_Served,其中Fbserved_outletid =(从outlet_master那里Outlet_Master_Name =选择Outlet_Master_Id'+ ddlOutlet.SelectedItem.ToString()+');
MySqlCommand的命令=新的MySqlCommand(查询,连接);
connection.Open();
MySqlDataReader将读卡器= Command.ExecuteReader却();
而(Reader.Read())
{
ddlServedAt.SelectedItem.Value =读卡器[0]的ToString();
}
connection.close()时;
}
我读了一些同样的问题,解决问题的方法,但他们告诉设定的AutoPostBack =真。我检查了也。
我不知道为什么ASP.net难事件触发也?
已更新问题
在我的项目,..我用jquerymobile(http://jquerymobile.com/)与ASP.Net和MySQL。
我有两个下拉列表控件和一个按钮。
但是,当我改变ddlOutlet选定的索引改变事件不触发。按钮后点击的事件是正确解雇。但在此之前,他们不火。我do't知道为什么它的发生。
我给我的完整code以下。
我的完整ASPX文件: -
<%@页面语言=C#AutoEventWireup =真codeBehind =OutLet.aspx.cs继承=MobileApp.OutLet%GT;!< DOCTYPE HTML PUBLIC - // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">< HTML的xmlns =http://www.w3.org/1999/xhtml>
<头=服务器>
<标题>< /标题>
< META NAME =视口CONTENT =WIDTH =设备的宽度,高度=设备的高度;初始规模= 1.0;最大规模= 1.5;用户可扩展性=无; />
<链接HREF =样式/ jquery.mobile-1.0b3.css的rel =stylesheet属性类型=文/ CSS/> <脚本SRC =脚本/ jQuery的-UI-1.8.16.custom.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本SRC =脚本/ jQuery的-1.6.2.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本SRC =脚本/ jquery.mobile-1.0b3.js类型=文/ JavaScript的>< / SCRIPT>
< /头>
<身体GT;
<表ID =form1的=服务器数据AJAX =false的>
< DIV ID =mainheader级=UI头固定UI的酒吧一个> < / DIV>
< DIV ID ='DIV1级=UI内容UI的身体一个=服务器> <% - < ASP:的UpdatePanel ID =UpdatePanel1=服务器>
<&的ContentTemplate GT; - %GT;
< ASP:DropDownList的ID =ddlOutlet=服务器
的AutoPostBack =真onselectedindexchanged =ddlOutlet_SelectedIndexChanged
ontextchanged =ddlOutlet_TextChanged>
< / ASP:DropDownList的>
< BR />
< ASP:DropDownList的ID =ddlServedAt=服务器的AutoPostBack =真>
< / ASP:DropDownList的>
< BR />
< ASP:按钮的ID =btnLogin=服务器文本=登陆
的onclick =btnLogin_Click/>
<% - < /&的ContentTemplate GT;
< / ASP:的UpdatePanel> - %GT;
< / DIV>
< /表及GT;
< /身体GT;
< / HTML>
我的code -
使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用的System.Web;
使用System.Web.UI程序;
使用System.Web.UI.WebControls;
使用MySql.Data.MySqlClient;命名空间的一个MobileApp
{
公共部分类出口:System.Web.UI.Page
{
保护无效的Page_Load(对象发件人,EventArgs的发送)
{
HelpingFunctions马力=新HelpingFunctions(); 字符串ID =的Request.QueryString [身份证];
如果(!Page.IsPostBack)
{
的MySqlConnection连接=新的MySqlConnection(服务器= 192.168.1.100;用户名= mcubic;密码= MCS @ $ 2011;数据库= mcubic;);
查询字符串=SELECT c.Outlet_Master_Name,d.Fbserved_Served FROM mcs_user一个,mcs_user_outlet B,outlet_master C,fb_served d其中a.Mcs_User_Id ='+身份证+和
+a.Mcs_User_Id = b.Mcs_User_Outlet_User_Id和c.Outlet_Master_Id = b.Mcs_User_Outlet_Outlet_Id和c.Outlet_Master_Id = d.Fbserved_outletid;
MySqlCommand的命令=新的MySqlCommand(查询,连接);
connection.Open();
MySqlDataReader将读卡器= Command.ExecuteReader却();
而(Reader.Read())
{
ddlOutlet.Items.Add器(Reader [0]的ToString());
ddlServedAt.Items.Add器(Reader [1]的ToString());
}
connection.close()时;
} } 保护无效ddlOutlet_SelectedIndexChanged(对象发件人,EventArgs的发送)
{
的MySqlConnection连接=新的MySqlConnection(服务器= 192.168.1.100;用户名= mcubic;密码= MCS @ $ 2011;数据库= mcubic;);
查询字符串=从fb_served选择Fbserved_Served,其中Fbserved_outletid =(从outlet_master那里Outlet_Master_Name =选择Outlet_Master_Id'+ ddlOutlet.SelectedItem.ToString()+');
MySqlCommand的命令=新的MySqlCommand(查询,连接);
connection.Open();
MySqlDataReader将读卡器= Command.ExecuteReader却();
而(Reader.Read())
{
ddlServedAt.SelectedValue =读卡器[0]的ToString();
}
connection.close()时;
} 保护无效ddlOutlet_TextChanged(对象发件人,EventArgs的发送)
{
//的MySqlConnection连接=新的MySqlConnection(服务器= 192.168.1.100;用户名= mcubic;密码= MCS @ $ 2011;数据库= mcubic;);
//查询字符串=从fb_served选择Fbserved_Served,其中Fbserved_outletid =(从outlet_master那里Outlet_Master_Name =选择Outlet_Master_Id'+ ddlOutlet.SelectedItem.ToString()+');
// MySqlCommand的命令=新的MySqlCommand(查询,连接);
//connection.Open();
// MySqlDataReader将读卡器= Command.ExecuteReader却();
//而(Reader.Read())
// {
// ddlServedAt.SelectedItem.Value =读卡器[0]的ToString();
//}
//connection.Close();
} 保护无效btnLogin_Click(对象发件人,EventArgs的发送)
{ }
}
}
在你的的Page_Load $ C $添加
Page.IsPostBack
尝试C>事件...
保护无效的Page_Load(对象发件人,EventArgs的发送)
{
如果(!Page.IsPostBack)
{
//你的页面加载code .....
}
}
编辑 - 1
样品$ C $ ASPX页面中的Web应用程序C
<%@页面语言=C#AutoEventWireup =真codeBehind =WebForm1.aspx.cs中继承=WebApplication1.WebForm1%GT;!< DOCTYPE HTML PUBLIC - // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">< HTML的xmlns =http://www.w3.org/1999/xhtml>
<头=服务器>
<标题>< /标题>
< /头>
<身体GT;
<表ID =form1的=服务器>
< DIV>
< ASP:DropDownList的ID =ID1=服务器的AutoPostBack =真
onselectedindexchanged =id1_SelectedIndexChanged>
&所述; asp的:列表项文本=1值=1>&下; / ASP:列表项>
< ASP:ListItem的文本=2VALUE =2>< / ASP:ListItem的>
< / ASP:DropDownList的>
< ASP:DropDownList的ID =ID2=服务器>< / ASP:DropDownList的>
< / DIV>
< /表及GT;
< /身体GT;
< / HTML>
code的样品code的Web应用程序背后
使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用的System.Web;
使用System.Web.UI程序;
使用System.Web.UI.WebControls;命名空间WebApplication1
{
公共部分类WebForm1的:System.Web.UI.Page
{
保护无效的Page_Load(对象发件人,EventArgs的发送)
{ }
保护无效id1_SelectedIndexChanged(对象发件人,EventArgs的发送)
{ }
}
}
样品$ C $ ASPX页面的网站C
<%@页面语言=C#AutoEventWireup =真codeFILE =Default4.aspx.cs继承=Default4%GT;!< DOCTYPE HTML PUBLIC - // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
< HTML的xmlns =http://www.w3.org/1999/xhtml>
<头=服务器>
<标题>< /标题>
< /头>
<身体GT;
<表ID =form1的=服务器>
< DIV>
< ASP:DropDownList的ID =ID1=服务器的AutoPostBack =真
onselectedindexchanged =id1_SelectedIndexChanged>
&所述; asp的:列表项文本=1值=1>&下; / ASP:列表项>
< ASP:ListItem的文本=2VALUE =2>< / ASP:ListItem的>
< / ASP:DropDownList的>
< ASP:DropDownList的ID =ID2=服务器>< / ASP:DropDownList的>
< / DIV>
< /表及GT;
< /身体GT;
< / HTML>
code的样品code在网站背后
使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用的System.Web;
使用System.Web.UI程序;
使用System.Web.UI.WebControls;公共部分类Default4:System.Web.UI.Page
{
保护无效的Page_Load(对象发件人,EventArgs的发送)
{ }
保护无效id1_SelectedIndexChanged(对象发件人,EventArgs的发送)
{ }
}
I am new to ASP>NET(C#). But I am using Winform before.
In my Project I have two dropdown list. if i change the one,.. the second will change auto.
But even event also not firing in ASP.net. Without event how to i manage that?.
<div id="Div1" class="ui-content ui-body-a" runat="server">
<asp:dropdownlist id="ddlOutlet" runat="server" autopostback="True" onselectedindexchanged="ddlOutlet_SelectedIndexChanged"
ontextchanged="ddlOutlet_TextChanged">
</asp:dropdownlist>
<br />
<asp:dropdownlist id="ddlServedAt" runat="server">
</asp:dropdownlist>
<br />
<asp:button id="btnLogin" runat="server" text="LogIn" />
</div>
C#
I already Added items in both dropdown list in page load event. But When I change the ddlOutlet selected index changed Event not firing. So I tried to TextChanged Events Also. But nothing happened. What is problem?.
Page Load Event -
protected void Page_Load(object sender, EventArgs e)
{
HelpingFunctions hp = new HelpingFunctions();
string id = Request.QueryString["id"];
MySqlConnection connection = new MySqlConnection("server=192.168.1.100;username=mcubic;password=mcs@2011$;database=mcubic;");
string query = "SELECT c.Outlet_Master_Name,d.Fbserved_Served FROM mcs_user a, mcs_user_outlet b,outlet_master c,fb_served d WHERE a.Mcs_User_Id='" + id + "' and"
+ " a.Mcs_User_Id = b.Mcs_User_Outlet_User_Id and c.Outlet_Master_Id = b.Mcs_User_Outlet_Outlet_Id and c.Outlet_Master_Id=d.Fbserved_outletid";
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
MySqlDataReader Reader = command.ExecuteReader();
while (Reader.Read())
{
ddlOutlet.Items.Add(Reader[0].ToString());
ddlServedAt.Items.Add(Reader[1].ToString());
}
connection.Close();
}
Selected Item -
protected void ddlOutlet_SelectedIndexChanged(object sender, EventArgs e)
{
MySqlConnection connection = new MySqlConnection("server=192.168.1.100;username=mcubic;password=mcs@2011$;database=mcubic;");
string query = "select Fbserved_Served from fb_served where Fbserved_outletid = (select Outlet_Master_Id from outlet_master where Outlet_Master_Name ='" + ddlOutlet.SelectedItem.ToString() + "')";
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
MySqlDataReader Reader = command.ExecuteReader();
while (Reader.Read())
{
ddlServedAt.SelectedItem.Value = Reader[0].ToString();
}
connection.Close();
}
I read some same issue problem solutions, but they told to set AutoPostBack="True". I checked that also.
I don't know why ASP.net hard to Event firing also?.
UPDATED QUESTION
In my Project,.. I am using jquerymobile(http://jquerymobile.com/) with ASP.Net and mysql. I have two drop down list controls and ONE button.
But When I change the ddlOutlet selected index changed Event not firing. After the button Click the Events Are fired Correctly. But Before that They not fire. I do't know Why its happen.
I Give my Complete Code Below.
My Complete ASPX File :-
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OutLet.aspx.cs" Inherits="MobileApp.OutLet" %>
<!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">
<title></title>
<meta name="viewport" content="width=device-width; height=device-height; initial-scale=1.0; maximum-scale=1.5; user-scalable=no;" />
<link href="Styles/jquery.mobile-1.0b3.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.mobile-1.0b3.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server" data-ajax="false">
<div id="mainheader" class="ui-header-fixed ui-bar-a">
</div>
<div id="Div1" class="ui-content ui-body-a" runat="server">
<%-- <asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>--%>
<asp:DropDownList ID="ddlOutlet" runat="server"
AutoPostBack="True" onselectedindexchanged="ddlOutlet_SelectedIndexChanged"
ontextchanged="ddlOutlet_TextChanged">
</asp:DropDownList>
<br />
<asp:DropDownList ID="ddlServedAt" runat="server" AutoPostBack="True">
</asp:DropDownList>
<br />
<asp:Button ID="btnLogin" runat="server" Text="LogIn"
onclick="btnLogin_Click" />
<%-- </ContentTemplate>
</asp:UpdatePanel> --%>
</div>
</form>
</body>
</html>
my Code -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
namespace MobileApp
{
public partial class OutLet : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HelpingFunctions hp = new HelpingFunctions();
string id = Request.QueryString["id"];
if (!Page.IsPostBack)
{
MySqlConnection connection = new MySqlConnection("server=192.168.1.100;username=mcubic;password=mcs@2011$;database=mcubic;");
string query = "SELECT c.Outlet_Master_Name,d.Fbserved_Served FROM mcs_user a, mcs_user_outlet b,outlet_master c,fb_served d WHERE a.Mcs_User_Id='" + id + "' and"
+ " a.Mcs_User_Id = b.Mcs_User_Outlet_User_Id and c.Outlet_Master_Id = b.Mcs_User_Outlet_Outlet_Id and c.Outlet_Master_Id=d.Fbserved_outletid";
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
MySqlDataReader Reader = command.ExecuteReader();
while (Reader.Read())
{
ddlOutlet.Items.Add(Reader[0].ToString());
ddlServedAt.Items.Add(Reader[1].ToString());
}
connection.Close();
}
}
protected void ddlOutlet_SelectedIndexChanged(object sender, EventArgs e)
{
MySqlConnection connection = new MySqlConnection("server=192.168.1.100;username=mcubic;password=mcs@2011$;database=mcubic;");
string query = "select Fbserved_Served from fb_served where Fbserved_outletid = (select Outlet_Master_Id from outlet_master where Outlet_Master_Name ='" + ddlOutlet.SelectedItem.ToString() + "')";
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
MySqlDataReader Reader = command.ExecuteReader();
while (Reader.Read())
{
ddlServedAt.SelectedValue = Reader[0].ToString();
}
connection.Close();
}
protected void ddlOutlet_TextChanged(object sender, EventArgs e)
{
//MySqlConnection connection = new MySqlConnection("server=192.168.1.100;username=mcubic;password=mcs@2011$;database=mcubic;");
//string query = "select Fbserved_Served from fb_served where Fbserved_outletid = (select Outlet_Master_Id from outlet_master where Outlet_Master_Name ='" + ddlOutlet.SelectedItem.ToString() + "')";
//MySqlCommand command = new MySqlCommand(query, connection);
//connection.Open();
//MySqlDataReader Reader = command.ExecuteReader();
//while (Reader.Read())
//{
// ddlServedAt.SelectedItem.Value = Reader[0].ToString();
//}
//connection.Close();
}
protected void btnLogin_Click(object sender, EventArgs e)
{
}
}
}
try by Adding Page.IsPostBack
in your page_Load
event...
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//your page load code.....
}
}
EDIT - 1
Sample Code of ASPX page in Web Application
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!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">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList id="id1" runat="server" AutoPostBack="true"
onselectedindexchanged="id1_SelectedIndexChanged">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList id="id2" runat="server"></asp:DropDownList>
</div>
</form>
</body>
</html>
Sample code of code behind in Web Application
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void id1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
Sample code of ASPX page in Website
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>
<!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">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList id="id1" runat="server" AutoPostBack="true"
onselectedindexchanged="id1_SelectedIndexChanged">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList id="id2" runat="server"></asp:DropDownList>
</div>
</form>
</body>
</html>
Sample code of Code behind in Website
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void id1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
这篇关于Asp.net DROPDOWNLIST选择的指数变化,框TextChanged事件不火? (C#)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!