asp.net的自定义用户控件 [英] Custom User Control for asp.net
问题描述
嗨朋友们,
我想创建一个用户控件来显示excel表格中的数据,还可以从文件夹中读取照片。照片的路径是excel表。我可以从Excel工作表中调用数据。但我的用户控件无法正常工作。我的照片没有显示,所有数据都在单行上我试图安排但不成功。请帮我。代码就在这里。
Hi Friends,
i want to create a user control to display my data from excel sheet and also read photo from a folder. Path of photos is in excel sheet. i am able to call data from excel sheet. but my user control does not work properly.My photos does not displayed and all data is on single line i am trying to arrange it but not succeed. please help me. code is here.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CircleSoftech.DAL;
using System.Data;
using System.IO;
public partial class Controls_ImageWithText : System.Web.UI.UserControl
{
DBConn _Connector = new DBConn();
DataTable ExcelTable = new DataTable();
DataTable ResultDt = new DataTable();
String[] ExcelSheet;
String ExcelFileName = "";
protected void Page_Load(object sender, EventArgs e)
{
ExcelFileName = Server.MapPath("~/Teacher/TeacherDetails.xlsx");
_Connector.RetriveExcelSheets(ref ExcelSheet, ExcelFileName);
try
{
_Connector.FillDataTable(ref ExcelTable, ExcelFileName, ExcelSheet.GetValue(0).ToString());
for (int i = 0; i <= ExcelTable.Rows.Count - 1; i++)
{
Image img = new Image();
img.ID = "Teacher" + i;
img.ImageUrl = (Server.MapPath("~/Teacher/" + ExcelTable.Rows[i][7].ToString()));
img.Width = Unit.Pixel(100);
img.Height = Unit.Pixel(120);
Label name = new Label();
name.ID = "name" + i;
name.Text = ExcelTable.Rows[i][1].ToString();
Label father = new Label();
father.ID = "father" + i;
father.Text = ExcelTable.Rows[i][2].ToString();
Label Dob = new Label();
Dob.ID = "dob" + i;
Dob.Text = ExcelTable.Rows[i][3].ToString();
Label Acadamic = new Label();
Acadamic.ID = "academic" + i;
Acadamic.Text = ExcelTable.Rows[i][4].ToString();
Label comercial = new Label();
comercial.ID = "comercial" + i;
comercial.Text = ExcelTable.Rows[i][5].ToString();
Label experience = new Label();
experience.ID = "experience" + i;
experience.Text = ExcelTable.Rows[i][6].ToString();
this.Controls.Add(name);
this.Controls.Add(father);
this.Controls.Add(Dob);
this.Controls.Add(Acadamic);
this.Controls.Add(comercial);
this.Controls.Add(experience);
this.Controls.Add(img);
}
}
catch { }
}
}
推荐答案
用于图像显示删除Server.MapPath仅使用以下代码..如果图像存在于您的网站文件夹中
for image display remove Server.MapPath use only following code ..if image are present in ur website folder
img.ImageUrl ="~/Teacher/" + ExcelTable.Rows[i][7].ToString();
for new row只需添加br标签文本旁边的标签.exampal
for new row simply add br tag next to label text..exampal
Label name = new Label();
name.ID = "name" + i;
name.Text = ExcelTable.Rows[i][1].ToString()+"</br>";
或u可以添加每个时间新标签,文字为br ...例如
or u may add every time new label with text as br...for example
Label MyNewLine = new Label();
MyNewLine.Text = "<br/>";
希望它能提供帮助
hope it will help
这篇关于asp.net的自定义用户控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!