Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试以编程方式将跨度在内的div添加到asp.net页面上的div。获取错误/空引用_C#_Asp.net_Controls - Fatal编程技术网

C# 尝试以编程方式将跨度在内的div添加到asp.net页面上的div。获取错误/空引用

C# 尝试以编程方式将跨度在内的div添加到asp.net页面上的div。获取错误/空引用,c#,asp.net,controls,C#,Asp.net,Controls,我有一个需要添加到asp.net页面的动态数据元素数。我目前正试图通过循环遍历结果数据集来实现这一点,如下所示: protected void Page_Load(object sender, EventArgs e) { UserDB db = new UserDB(); string employeeIDOrName = Request.QueryString["employeeID"]; DataSet ds = db.GetUserSearch(employeeI

我有一个需要添加到asp.net页面的动态数据元素数。我目前正试图通过循环遍历结果数据集来实现这一点,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    UserDB db = new UserDB();
    string employeeIDOrName = Request.QueryString["employeeID"];
    DataSet ds = db.GetUserSearch(employeeIDOrName);
    DataTable table = ds.Tables[0];

    foreach (DataRow row in table.Rows)
    {
        string employeeID = row[0].ToString();
        string emailAddress = row[1].ToString();
        string phone = row[2].ToString();
        string details = emailAddress + " | " + phone;

        UserControl uc = new Controls_EmployeeSearchResults(employeeID, details);
        placeholder1.Controls.Add(uc);
    }
}
在employeeSearchResults代码中,我有:

<div class="returnDataBoxSup" onclick="insertAddedSup('1091912','Shawna Burns');">
    <div id="searchResults" runat="server">

    </div>
</div>

对于ascx页面和

public Controls_EmployeeSearchResults(string name, string details)
{
    /*<div class="returnDataBoxSup" style="overflow:hidden;" onclick="insertAddedSup('1091912','Shawna Burns');">

    <span ID="spanName" runat="server" style="text-transform:capitalize; white-space:nowrap"></span><br />
    <span ID="spanDetails" runat="server" style="font-size:0.7em; white-space:nowrap"></span>
</div>*/
    //Div
    HtmlGenericControl div1 = new HtmlGenericControl("div");
    div1.ID = "returnDataBoxSup";
    div1.Attributes["style"] = "overflow:hidden;";
    div1.Attributes["onClick"] = "insertAddedSup('1091912','Shawna Burns');";
    div1.Attributes["class"] = "returnDataBoxSup";

    //Span Name
    HtmlGenericControl span1 = new HtmlGenericControl("span");
    span1.ID = "span_" + name;
    span1.Attributes["style"] = "text-transform:capitalize; white-space:nowrap";
    span1.InnerHtml = name;

    //Span Details
    HtmlGenericControl span2 = new HtmlGenericControl("span");
    span2.ID = "spanD_" + name;
    span2.Attributes["style"] = "font-size:0.7em; white-space:nowrap";
    span2.InnerHtml = details;

    div1.InnerHtml = span1.ToString();
    div1.InnerHtml += span2.ToString(); ;
    //div1.Controls.Add(span1);
    //div1.Controls.Add(span2);
    //searchResults = new HtmlGenericControl("div");
    searchResults.InnerHtml = div1.ToString();
}
public Controls\u EmployeeSearchResults(字符串名称、字符串详细信息)
{
/*

*/ //Div HtmlGenericControl div1=新的HtmlGenericControl(“div”); div1.ID=“returnDataBoxSup”; div1.Attributes[“style”]=“溢出:隐藏;”; div1.Attributes[“onClick”]=“insertAddedSup('1091912','Shawna Burns');”; div1.Attributes[“class”]=“returnDataBoxSup”; //跨度名称 HtmlGenericControl span1=新的HtmlGenericControl(“span”); span1.ID=“span_”+名称; span1.属性[“样式”]=“文本转换:大写;空白:nowrap”; span1.InnerHtml=名称; //跨度细节 HtmlGenericControl span2=新的HtmlGenericControl(“span”); span2.ID=“氨纶”+名称; span2.属性[“样式”]=“字体大小:0.7em;空白:nowrap”; span2.InnerHtml=详细信息; div1.InnerHtml=span1.ToString(); div1.InnerHtml+=span2.ToString(); //第1部分。控件。添加(span1); //第1部分。控件。添加(span2); //searchResults=新的HtmlGenericControl(“div”); searchResults.InnerHtml=div1.ToString(); }
在代码背后。我第一次尝试将span控件添加到div中,但收到一个异常。当我试图将控件添加到内部html时,它说它无法将控件类型转换为字符串。有什么方法可以让我做我想做的事吗


我接收数据集中的员工数据,然后我想循环这些数据,为每个员工记录创建一个样式化的div,并将其显示在我的页面上。有什么想法吗?

使用用户控件不是个坏主意,但是使用ListView可能会更好/更容易

但假设您现在仍然使用div和用户控件。首先,您创建用户控件的方式与创建其他控件的方式不同,因为您已经完成了页面生命周期的一部分,需要跟上它们。而是使用LoadControl(请参阅:)


其次,不要将值传递给构造函数。在usercontrol中创建一个名为LoadData的函数,并将值传递给该函数。使用LoadControl创建usercontrol后,调用LoadData并传入值。LoadData负责将数据加载到各种控件中,与您的示例不同,这些控件可能已经存在于您的usercontrol中。

请尝试InnerText以查看其是否有效。

对您的代码有很多问题:什么是
占位符1
搜索结果
?您在哪里实施控制?为什么不使用ListView呢?太好了,我会试试的!谢谢,太棒了。成功了!非常感谢您的详细帮助。我真的很感激。