ASP.net关于循环显示问题

bluewait 2014-07-18 01:24:04
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection sqlconstr = new SqlConnection();
sqlconstr.ConnectionString = "Data Source=localhost;Initial Catalog=YoanExtend;User ID=sa;Password=iiszwjlovelp";
sqlconstr.Open();
SqlCommand com = new SqlCommand();
com.Connection = sqlconstr;

com.CommandText = "GetWebUserIntegrationList";
com.CommandType = CommandType.StoredProcedure;
SqlParameter[] p_htno = new SqlParameter[7];
p_htno[0] = new SqlParameter("@UserID",SqlDbType.VarChar,24);
p_htno[1] = new SqlParameter("@BY",SqlDbType.Int);
p_htno[2] = new SqlParameter("@BM", SqlDbType.Int);
p_htno[3] = new SqlParameter("@EY", SqlDbType.Int);
p_htno[4] = new SqlParameter("@EM", SqlDbType.Int);
p_htno[5] = new SqlParameter("@Count", SqlDbType.Int);
p_htno[6] = new SqlParameter("@SumFee", SqlDbType.VarChar,12);
string strSe = Session["data"].ToString();
Response.Write(strSe);
p_htno[0].Value = strSe;
p_htno[1].Value = 2014;
p_htno[2].Value = 1;
p_htno[3].Value = 2014;
p_htno[4].Value = 5;
p_htno[5].Direction = ParameterDirection.Output;
p_htno[6].Direction = ParameterDirection.Output;
for (int i = 0; i < p_htno.Length; i++)
{
com.Parameters.Add(p_htno[i]);

}


SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
//循环显示查询结果
Response.Write("<div>"+dr["n_y"].ToString() + "年<br >" + dr["n_m"].ToString() + "月<br >" + dr["n_bccm"].ToString() + "抄码<br >" + dr["n_ysl"].ToString() + "水量" + "<br ><br ></div>");
}
这个B页面是从A页面跳转过来的。单独打开B页面会显示我想要的结果,但跳转过来的时候显示不出来结果是什么原因?我查看了代码会变成这样


<div>2014年<br >1月<br >2237抄码<br >0水量<br ><br ></div><div>2014年<br >2月<br >2240抄码<br >3水量<br ><br ></div><div>2014年<br >3月<br >2241抄码<br >1水量<br ><br ></div><div>2014年<br >4月<br >2243抄码<br >2水量<br ><br ></div><div>2014年<br >5月<br >2245抄码<br >2水量<br ><br ></div>5笔<br>53.60元

<!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><title>

</title></head>
<body>
<form method="post" action="qfcx.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZIarZPbR62fhhiPN7Wt2MVB7/gO0Ofkd18zMppADB0mA" />
</div>

<div class="aspNetHidden">

<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="31B9D3EF" />
</div>
<div>



</div>

</form>
</body>
</html>
我想到的另一种方法后台添加Label。循环输出。(可惜俺是小白,不知道怎么写,请求代码)
...全文
237 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用不着什么“后台添加Label”。你应该搞清楚哪些工作属于UI布局设计,哪些工作属于数据绑定。这比会求别人给代码更重要。 这个Label就应该在页面aspx(或者ascx)设计时用鼠标拖到vs的设计窗口里,而不是什么“后台添加”。
  • 打赏
  • 举报
回复
引用 楼主 bluewait 的回复:
我想到的另一种方法后台添加Label。循环输出。(可惜俺是小白,不知道怎么写,请求代码)
while (dr.Read()) { //循环显示查询结果 Label1.Text += "<div>"+dr["n_y"].ToString() + "年<br >" + dr["n_m"].ToString() + "月<br >" + dr["n_bccm"].ToString() + "抄码<br >" + dr["n_ysl"].ToString() + "水量" + "<br ><br ></div>"; }
EdsionWang 2014-07-20
  • 打赏
  • 举报
回复
单独能打开B页面?那你的Session["data"]在哪赋值呢? 建议B页面弄个Repeater或GridView绑定下,A页面将strSe用QueryString传过来。B页面接受到作为参数去查询数据,绑定
u571_2857922256 2014-07-20
  • 打赏
  • 举报
回复
定制循环实现迭代器 //定义类 public class Car : IEnumerable, IEnumerator { private short flag = -1; public IEnumerator GetEnumerator() { return this; //return this as IEnumerator; } //IEnumerator接口的Current属性 public object Current { get { switch (flag) { case 0: return "奥迪"; case 1: return "皇冠"; case 2: return "宝马"; case 3: return "奔驰"; default: return "OH,This is Error!"; }//CodeGo.net/ } } //IEnumerator接口的MoveNext方法 public bool MoveNext() { flag++; if (flag == 4) return false; return true; } //IEnumerator接口的Reset方法 public void Reset() { flag = -1; } } //加载历遍枚举 protected void Page_Load(object sender, EventArgs e) { Car c = new Car(); foreach (string c_item in c) { Response.Write(c_item + "<br/>"); } }
我现在在路上 2014-07-19
  • 打赏
  • 举报
回复
上面两种都可以,Response.write是直接返回请求,一般会直接在页面的显示。没有固定的位置,可以通过上面两种来固定位置和样式等
祥子爱游戏 2014-07-19
  • 打赏
  • 举报
回复
后台要动态设置前台的html代码。 <%=string>
忧伤的小鬼剑 2014-07-18
  • 打赏
  • 举报
回复
找本html的基础书好好研究研究。。。
GT7466 2014-07-18
  • 打赏
  • 举报
回复
你在可以这样: 后台:

protected string records = string.Empty;

 protected void Page_Load(object sender, EventArgs e)
{
//...
      while (dr.Read())
        {
         //循环显示查询结果
            records +="<div>"+dr["n_y"].ToString() + "年<br >" + dr["n_m"].ToString() + "月<br >" + dr["n_bccm"].ToString() + "抄码<br >" + dr["n_ysl"].ToString() + "水量"  + "<br ><br ></div>";
        }

}

页面:

<div>
    <%=records %>
</div>
  • 打赏
  • 举报
回复
<div id="d1" runat="server"> </div> 后台: string strHtml=你循环输出的那一坨 然后 d1.InnerHtml=strHtml; 完了
  • 打赏
  • 举报
回复
买本书 学习一下HTML

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧