asp.net循环问题

wo594261 2008-02-05 09:25:19
this.Image2.ImageUrl=ds.Tables[0].Rows[1].ItemArray[1].ToString();
this.HyperLink2.Text=ds.Tables[0].Rows[1].ItemArray[2].ToString();
this.HyperLink2.NavigateUrl="http://"+ds.Tables[0].Rows[1].ItemArray[0].ToString();

this.Image3.ImageUrl=ds.Tables[0].Rows[2].ItemArray[1].ToString();
this.HyperLink3.Text=ds.Tables[0].Rows[2].ItemArray[2].ToString();
this.HyperLink3.NavigateUrl="http://"+ds.Tables[0].Rows[2].ItemArray[0].ToString();

this.Image4.ImageUrl=ds.Tables[0].Rows[3].ItemArray[1].ToString();
this.HyperLink4.Text=ds.Tables[0].Rows[3].ItemArray[2].ToString();
this.HyperLink4.NavigateUrl="http://"+ds.Tables[0].Rows[3].ItemArray[0].ToString();

可以用循环不 如果100个 Image 和 100个HyperLink 所以考虑循环
用循环怎么写
...全文
369 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
newredhat 2008-02-13
  • 打赏
  • 举报
回复
00
amandag 2008-02-05
  • 打赏
  • 举报
回复
这个貌似不是一两句能说清楚的
wo594261 2008-02-05
  • 打赏
  • 举报
回复
刚才有点事去处理了下 高歌 dataGrid
怎么设置可以达到这样的效果
amandag 2008-02-05
  • 打赏
  • 举报
回复
当然你的这个例子最好使用DataGrid或者DataList、Repeater这样的数据绑定控件处理,不知道你对他们是否了解
amandag 2008-02-05
  • 打赏
  • 举报
回复
如果上面的不行,你把你的这些控件放到一个Panel里面,然后



System.Web.UI.WebControls.Image imgTemp = (System.Web.UI.WebControls.Image)(this.Form.FindControl("Image" + (i + 1)));


改成

System.Web.UI.WebControls.Image imgTemp = (System.Web.UI.WebControls.Image)(this.Panel1.FindControl("Image" + (i + 1)));


这个应该是肯定能成功的
wo594261 2008-02-05
  • 打赏
  • 举报
回复

itemtemplate
怎么设置 处理啊
amandag 2008-02-05
  • 打赏
  • 举报
回复
估计这是ASP.NET 1.1和ASP.NET 2.0页面机制不同

你先尝试这样改一下把

System.Web.UI.WebControls.Image imgTemp = (System.Web.UI.WebControls.Image)(this.Form.FindControl("Image" + (i + 1)));


改成

System.Web.UI.WebControls.Image imgTemp = (System.Web.UI.WebControls.Image)(this.FindControl("Image" + (i + 1)));
wo594261 2008-02-05
  • 打赏
  • 举报
回复

itemtemplate
怎么设置 处理啊
wo594261 2008-02-05
  • 打赏
  • 举报
回复
主要是今天放假 现在头脑 昏了。。。。
wo594261 2008-02-05
  • 打赏
  • 举报
回复
不可访问“System.Web.UI.Page.Form”,因为它受保护级别限制

这是什么意思
jacker79 2008-02-05
  • 打赏
  • 举报
回复
你可以用ITEMTEMPLATE來設定其中的內容啊。
上面顯示圖片,下面顯示文字,作為一個單元格為處理啊。。。
amandag 2008-02-05
  • 打赏
  • 举报
回复
你那里说了那一行错误么?我这里测试代码是能通过的
amandag 2008-02-05
  • 打赏
  • 举报
回复
你的这个需求用DataGrid这样的控件当然好些,如果你的image和HyperLink比较多的时候,我手里没有VS2003的环境(为什么现在还用VS2003),只能尽量看看了
wo594261 2008-02-05
  • 打赏
  • 举报
回复
我也想用datagrid 但是显示图片 一行显示6个 下行显示名字 datagrid不好显示
wo594261 2008-02-05
  • 打赏
  • 举报
回复
<%@ Page language="c#" Codebehind="Index.aspx.cs" AutoEventWireup="false" Inherits="ChenreWulation.WebUI.Index" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Index</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<base target="_blank">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Image id="Image2" style="Z-INDEX: 101; LEFT: 160px; POSITION: absolute; TOP: 80px" runat="server"
Height="48px" Width="56px"></asp:Image>
<asp:HyperLink id="HyperLink1" style="Z-INDEX: 102; LEFT: 80px; POSITION: absolute; TOP: 136px"
runat="server">空白</asp:HyperLink>
<asp:Image id="Image3" style="Z-INDEX: 103; LEFT: 240px; POSITION: absolute; TOP: 80px" runat="server"
Height="48px" Width="48px"></asp:Image>
<asp:Image id="Image4" style="Z-INDEX: 104; LEFT: 320px; POSITION: absolute; TOP: 80px" runat="server"
Height="48px" Width="48px"></asp:Image>
<asp:Image id="Image5" style="Z-INDEX: 105; LEFT: 408px; POSITION: absolute; TOP: 80px" runat="server"
Height="40px" Width="48px"></asp:Image>
<asp:Image id="Image6" style="Z-INDEX: 106; LEFT: 496px; POSITION: absolute; TOP: 80px" runat="server"
Height="40px" Width="48px"></asp:Image>
<asp:HyperLink id="HyperLink2" style="Z-INDEX: 107; LEFT: 160px; POSITION: absolute; TOP: 136px"
runat="server">空白</asp:HyperLink>
<asp:HyperLink id="HyperLink3" style="Z-INDEX: 108; LEFT: 240px; POSITION: absolute; TOP: 136px"
runat="server">空白</asp:HyperLink>
<asp:HyperLink id="HyperLink4" style="Z-INDEX: 109; LEFT: 320px; POSITION: absolute; TOP: 136px"
runat="server">空白</asp:HyperLink>
<asp:HyperLink id="HyperLink5" style="Z-INDEX: 110; LEFT: 408px; POSITION: absolute; TOP: 136px"
runat="server">空白</asp:HyperLink>
<asp:Image id="Image1" style="Z-INDEX: 111; LEFT: 64px; POSITION: absolute; TOP: 80px" runat="server"
Width="72px" Height="48px"></asp:Image>
<asp:HyperLink id="HyperLink6" style="Z-INDEX: 112; LEFT: 504px; POSITION: absolute; TOP: 136px"
runat="server">空白</asp:HyperLink>
</form>
</body>
</HTML>
wo594261 2008-02-05
  • 打赏
  • 举报
回复
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;


namespace ChenreWulation.WebUI
{
/// <summary>
/// Index 的摘要说明。
/// </summary>
public class Index : System.Web.UI.Page
{
protected System.Web.UI.WebControls.HyperLink HyperLink5;
protected System.Web.UI.WebControls.HyperLink HyperLink4;
protected System.Web.UI.WebControls.HyperLink HyperLink3;
protected System.Web.UI.WebControls.HyperLink HyperLink2;
protected System.Web.UI.WebControls.Image Image6;
protected System.Web.UI.WebControls.Image Image5;
protected System.Web.UI.WebControls.Image Image4;
protected System.Web.UI.WebControls.Image Image3;
protected System.Web.UI.WebControls.Image Image2;
protected System.Web.UI.WebControls.HyperLink HyperLink6;
protected System.Web.UI.WebControls.Image Image1;
protected System.Web.UI.WebControls.HyperLink HyperLink1;

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{

try
{
DataSet ds=Business.SelectPicture.selectPicture();
for (int i = 1; i <= 100; i++)
{
System.Web.UI.WebControls.Image imgTemp = (System.Web.UI.WebControls.Image)(this.Form.FindControl("Image" + (i + 1)));
imgTemp.ImageUrl = ds.Tables[0].Rows[i][1].ToString();

HyperLink lnkTemp = (HyperLink)(this.Form.FindControl("HyperLink" + (i + 1)));
lnkTemp.Text = ds.Tables[0].Rows[i][2].ToString();
lnkTemp.NavigateUrl = "http://" + ds.Tables[0].Rows[i][0].ToString();
}

// this.Image1.ImageUrl=ds.Tables[0].Rows[0].ItemArray[1].ToString();//图片路径
// this.HyperLink1.Text=ds.Tables[0].Rows[0].ItemArray[2].ToString();//名字
// this.HyperLink1.NavigateUrl="http://"+ds.Tables[0].Rows[0].ItemArray[0].ToString();//链接
//
// this.Image2.ImageUrl=ds.Tables[0].Rows[1].ItemArray[1].ToString();
// this.HyperLink2.Text=ds.Tables[0].Rows[1].ItemArray[2].ToString();
// this.HyperLink2.NavigateUrl="http://"+ds.Tables[0].Rows[1].ItemArray[0].ToString();
//
// this.Image3.ImageUrl=ds.Tables[0].Rows[2].ItemArray[1].ToString();
// this.HyperLink3.Text=ds.Tables[0].Rows[2].ItemArray[2].ToString();
// this.HyperLink3.NavigateUrl="http://"+ds.Tables[0].Rows[2].ItemArray[0].ToString();
//
// this.Image4.ImageUrl=ds.Tables[0].Rows[3].ItemArray[1].ToString();
// this.HyperLink4.Text=ds.Tables[0].Rows[3].ItemArray[2].ToString();
// this.HyperLink4.NavigateUrl="http://"+ds.Tables[0].Rows[3].ItemArray[0].ToString();
//
// this.Image5.ImageUrl=ds.Tables[0].Rows[4].ItemArray[1].ToString();
// this.HyperLink5.Text=ds.Tables[0].Rows[4].ItemArray[2].ToString();
// this.HyperLink5.NavigateUrl="http://"+ds.Tables[0].Rows[4].ItemArray[0].ToString();
//
// this.Image6.ImageUrl=ds.Tables[0].Rows[5].ItemArray[1].ToString();
// this.HyperLink6.Text=ds.Tables[0].Rows[5].ItemArray[2].ToString();
// this.HyperLink6.NavigateUrl="http://"+ds.Tables[0].Rows[5].ItemArray[0].ToString();
}
catch(Exception)
{

}
}
// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
private void LinkButton1_Click(object sender, System.EventArgs e)
{

}

}
}
amandag 2008-02-05
  • 打赏
  • 举报
回复
贴你的代码我看看

aspx和 aspx.cs
wo594261 2008-02-05
  • 打赏
  • 举报
回复

用System.Web.UI.WebControls.Image 代替时候
报错:
类、结构或接口成员声明中的标记“;”无效
amandag 2008-02-05
  • 打赏
  • 举报
回复



for (int i = 1; i <= 100; i++)
{
System.Web.UI.WebControls.Image imgTemp = (System.Web.UI.WebControls.Image)(this.Form.FindControl("Image" + (i + 1)));
imgTemp.ImageUrl = ds.Tables[0].Rows[i][1].ToString();

HyperLink lnkTemp = (HyperLink)(this.Form.FindControl("HyperLink" + (i + 1)));
lnkTemp.Text = ds.Tables[0].Rows[i][2].ToString();
lnkTemp.NavigateUrl = "http://" + ds.Tables[0].Rows[i][0].ToString();
}
amandag 2008-02-05
  • 打赏
  • 举报
回复
使用 System.Web.UI.WebControls.Image代替

因为还有一个类是System.Drawing.Image
加载更多回复(5)

62,046

社区成员

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

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

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

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