为什么取不到在页面初始化时赋值的字符内容,该怎么解决
为什么取不到在页面初始化时赋值的字符内容
在做了个子页面(window.showModalDialog(...)),在初始化的时候,给dropdownlist控件赋值了。但是为什么在onSelectedIndexChanged事件触发时,这些字符、字符数组都是null或空的。
该怎么解决呢?
CS代码如下:
------解决思路----------------------
请先了解webform的机制
你将if (!Page.IsPostBack)这段的感叹号去掉就行了
在做了个子页面(window.showModalDialog(...)),在初始化的时候,给dropdownlist控件赋值了。但是为什么在onSelectedIndexChanged事件触发时,这些字符、字符数组都是null或空的。
该怎么解决呢?
CS代码如下:
public partial class Main_SeniorQuery : System.Web.UI.Page
{
public string str_col_infos;
public string[,] col_infos = {};
public string[] col_infos1={};
protected void Page_Load(object sender, EventArgs e)
{
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "No-Cache");
if (!Page.IsPostBack)
{
str_col_infos = Server.UrlDecode(Request.QueryString["obj"].ToString());
col_infos1 = str_col_infos.Split(new char[] { '|' });
int i_cols, i, i_remain;
i_cols = col_infos1.Length / 3;
col_infos = new string[i_cols, 3];
for (i = 0; i < col_infos1.Length; i++)
{
i_cols = (int)Math.Floor(i * 1.0 / 3);
i_remain = i % 3;
col_infos[i_cols, i_remain] = col_infos1[i];
}
for (i = 0; i < i_cols; i++)
{
ListItem li = new ListItem(col_infos[i, 0], col_infos[i, 1]);
ddl_column1.Items.Add(li);
ddl_column2.Items.Add(li);
}
}
else {
//col_infos = Request.QueryString("col_infos");
}
}
protected void ddl_column2_SelectedIndexChanged(object sender, EventArgs e)
{
int i_selected;
i_selected = ddl_column1.SelectedIndex; //调试时,看到str_col_infos就是null了
ddl_compare2.Items.Clear();
//if (col_infos[i_selected, 2] == "string")
//{
// ddl_compare2.Items.Add(new ListItem("等于"));
// ddl_compare2.Items.Add(new ListItem("包含"));
//}
}
}
------解决思路----------------------
请先了解webform的机制
你将if (!Page.IsPostBack)这段的感叹号去掉就行了