AJAX回调,pageload事件相关
问题是这样,我在页面上有DropDownList控件 选择一个选项,这时候他的selectindex肯定不为0
我有一个按钮,使用ajax回调本页面,在pageload中调用其他方法获取这个下拉列表的index. 一直是0;
是不是pageload还没走完,dropDownList的Index没有被自动赋回去?
如果是这样,那么我要在pageload中处理这个事情怎么样可以获取到准确的selectIndex(DropDownList一定要用服务器控件)
[最优解释]
一会儿“回调”,一会儿“提交”,一会儿则是 Http Get,到底有没有谱呢?
在asp.net中,回调有其专门的概念,callback、postback都是。跟lz你的毫无关系。
而你的 Http Get,凭什么就能传送你的值1?
同时这Http Get怎么纠结到asp.net事件生命周期了呢?人家说的是postback,换句话说是asp.net ajax所执行的那种ajax能力,而不是不是你的所谓jquery ajax。
[其他解释]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>
<script src="jquery-1.3.2-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#DropDownList1").change(function() {
var i = 0;
var ddlVal = $(this).val();
$("#DropDownList1 option").each(function() {
var oval = $(this).val();
if (oval == ddlVal) {
$("#Hidden1").val(i);
return;
}
i++;
});
form1.submit();
})
});
</script>
</head>
<body>
<form id="form1" name="form1" method="get" runat="server">
<input id="Hidden1" name="Hidden1" type="hidden" />
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>
1
</asp:ListItem>
<asp:ListItem>
3
</asp:ListItem>
<asp:ListItem>
2
</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request.Params["Hidden1"]))
{
int i = Convert.ToInt32(Request.Params["Hidden1"]);
Response.Write(i);
}
}
function start() {
xmlHttp = GetXmlHttpObject();
if (object.value == "无")
return;
xmlHttp.open("GET","vipMaster_Response.aspx?type=test", true);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
XXXXXXXXXXXXX
}
}
$("#ctl00_cph_hid2").val("1");
xmlHttp.send(null);
}
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["type"] == "test")
{string x=hid2.value;}//这里的value仍然是默认值0;
}
protected override void Render(HtmlTextWriter writer)
{
if (Request.QueryString["type"] == "test")
{string x=hid2.value;}//这里的value仍然是默认值0;
}
<!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>
<script type="text/javascript">
function pageLoad() {
alert($get("DropDownList_id").selectedIndex);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:DropDownList ID="ddlCity" runat="server">
<asp:ListItem Text="1" />
<asp:ListItem Text="2" Selected="True" />
<asp:ListItem Text="3" />
</asp:DropDownList>
</div>
</form>
</body>
</html>