protected void getCtOption()
{
DM_Mgr mgr = new DM_Mgr(new DM_DZ());
DataTable dtDz = mgr.GetDataTable();
for (int i = 0; i < dtDz.Rows.Count; i++)
{
if ((dtDz.Rows[i]["DZ_DM"].ToString().Substring(2, 4) != ("0000")))
{
//Response.Write("<option value='" + dtDz.Rows[i]["DZ_DM"].ToString() + "' > " + dtDz.Rows[i]["DZ_SM"].ToString() + " </option>");
}
}
}这是我的一个在后台生成option的方法。现在我把//Response.Write(" <option value='" + dtDz.Rows[i]["DZ_DM"].ToString() + "' > " + dtDz.Rows[i]["DZ_SM"].ToString() + " </option>");
这句注掉,改为生成一个Array,放在var Citys=new Array(放入生成的Array)。达成和var Citys=new Array(
new Array("110100","北京"),
new Array("120100","天津"),
new Array("130101","石家庄"));一样的效果,按照我原来的方法该怎么做呢? codeprotected void getCtOption()
{
DM_Mgr mgr = new DM_Mgr(new DM_DZ());
DataTable dtDz = mgr.GetDataTable();
for (int i = 0; i < dtDz.Rows.Count; i++)
{
if ((dtDz.Rows[i]["DZ_DM"].ToString().Substring(2, 4) != ("0000")))
{
//在这里放入生成的Array的语句。
}
}
} 并希望能有传值到前台的语句。例如:
前台:
<script language="javascript">
var Citys=new Array(
<%for(int i=0;i<city.Items.Count;i++){%>
new Array('<%=city.Items[i].Value%>','<%=city.Items[i].Text%>')<%=i==city.Items.Count-1?"":","%>
<%}%>);
</script>
{
DM_Mgr mgr = new DM_Mgr(new DM_DZ());
DataTable dtDz = mgr.GetDataTable();
for (int i = 0; i < dtDz.Rows.Count; i++)
{
if ((dtDz.Rows[i]["DZ_DM"].ToString().Substring(2, 4) != ("0000")))
{
//Response.Write("<option value='" + dtDz.Rows[i]["DZ_DM"].ToString() + "' > " + dtDz.Rows[i]["DZ_SM"].ToString() + " </option>");
}
}
}这是我的一个在后台生成option的方法。现在我把//Response.Write(" <option value='" + dtDz.Rows[i]["DZ_DM"].ToString() + "' > " + dtDz.Rows[i]["DZ_SM"].ToString() + " </option>");
这句注掉,改为生成一个Array,放在var Citys=new Array(放入生成的Array)。达成和var Citys=new Array(
new Array("110100","北京"),
new Array("120100","天津"),
new Array("130101","石家庄"));一样的效果,按照我原来的方法该怎么做呢? codeprotected void getCtOption()
{
DM_Mgr mgr = new DM_Mgr(new DM_DZ());
DataTable dtDz = mgr.GetDataTable();
for (int i = 0; i < dtDz.Rows.Count; i++)
{
if ((dtDz.Rows[i]["DZ_DM"].ToString().Substring(2, 4) != ("0000")))
{
//在这里放入生成的Array的语句。
}
}
} 并希望能有传值到前台的语句。例如:
前台:
<script language="javascript">
var Citys=new Array(
<%for(int i=0;i<city.Items.Count;i++){%>
new Array('<%=city.Items[i].Value%>','<%=city.Items[i].Text%>')<%=i==city.Items.Count-1?"":","%>
<%}%>);
</script>
解决方案 »
- 怎么弄出去一个框在ASP.NET中????
- 在线等 gridview 动态生成BoundField错误
- 一个Repeater控件,能不能前几列绑定数据源1,后几列绑定数据源2?类推。
- |zyciis| 一个简单的题 short s= 1 ; s=s+1 出错
- FreeTextBox在服务器上上传图片的问题
- 有谁有.NET程序安装和部署的演示文稿,急求一份..亿万份感谢!!! 下周要讲课.只是做一个参考..
- 一个正则表达式如果有回车时怎样处理?
- 关于NHibernate Many-to-Many
- 关于sql存储过程中参数和通配符的问题
- 我装了.net中文版正式版,有没有办法想offic2000一样可以选择语言?
- 请教高手一个问题 IIS的
- gridview ESC
后台生成"{AllCity:[{Name:\"北京\",Value:\"1\"},{Name:\"上海\",Value:\"2\"},{Name:\"深圳\",Value:\"3\"}]}"这样的字符串
其中[]中的是数组元素,AllCity是这个数组的键值,两边加上{}可以被js解析为json对象,
前台js:
<script>
var citysJson = "{AllCity:[{Name:\"北京\",Value:\"1\"},{Name:\"上海\",Value:\"2\"},{Name:\"深圳\",Value:\"3\"}]}";
var citys = eval("data="+citysJson);
for(var i=0;i<citys.AllCity.length;i++)
{
alert(citys.AllCity[i].Name);
}
</script>
这个只有怎么传值,并没有说怎么生成Array啊!
protected void getCtOption()
{
DM_Mgr mgr = new DM_Mgr(new DM_DZ());
DataTable dtDz = mgr.GetDataTable();
StringBuilder sb = new StringBuilder("{AllCity:[");
for (int i = 0; i < dtDz.Rows.Count; i++)
{
if ((dtDz.Rows[i]["DZ_DM"].ToString().Substring(2, 4) != ("0000")))
{
sb.Append("{");
sb.Append("Name:\""+dtDz.Rows[i]["DZ_SM"].ToString()+"\",Value:\""+dtDz.Rows[i]["DZ_DM"].ToString()+"\"");
sb.Append("},");
//Response.Write("<option value='" + dtDz.Rows[i]["DZ_DM"].ToString() + "' > " + dtDz.Rows[i]["DZ_SM"].ToString() + " </option>");
}
}
sb.Remove(sb.Length - 1, 1);//去掉最后一个逗号
sb.Append("]}");
hiddenCitys.value = sb.ToString();//hiddenCitys是页面上加了runat=Server的hidden控件
}
===============
我说的是放到<input type=hidden runat=server id=hiddenCitys />这个控件,有影响吗?
如果真的不想用,那你用ajax好了,获取这段字符以后,操作select控件。