asp.net的自定义用户控件 [英] Custom User Control for asp.net

查看:74
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆