C# 从c后面的代码遍历div

C# 从c后面的代码遍历div,c#,innerhtml,C#,Innerhtml,有人知道我如何减少冗余吗?我需要用相同的内容填充客户端上多个div元素的内部html 客户: <div id="projectList_dialog1" class="listView" runat="server"></div> <div id="projectList_dialog2" class="listView" runat="server"></div> 代码隐藏: protected void loadProjectList()

有人知道我如何减少冗余吗?我需要用相同的内容填充客户端上多个div元素的内部html

客户:

<div id="projectList_dialog1" class="listView" runat="server"></div>
<div id="projectList_dialog2" class="listView" runat="server"></div>
代码隐藏:

protected void loadProjectList()
    {
        var projectsPath = userDataPath + @"\" + username + @"\Projects";

        if (Directory.Exists(projectsPath))
        {
            var projects = Directory.GetDirectories(userDataPath + @"\" + username + @"\Projects");

            projectList_dialog1.InnerHtml = "<table>";
            projectList_dialog2.InnerHtml = "<table>";

            projectList_dialog1.InnerHtml += "<tr><td>Name</td><td>Date modified</td></tr>";
            projectList_dialog2.InnerHtml += "<tr><td>Name</td><td>Date modified</td></tr>";

            List<string> storedProjectNamesList = new List<string>();
            for (var i = 0; i < projects.Length; i++)
            {
                var storedProjectName = projects[i].Remove(0, projects[i].LastIndexOf('\\') + 1);
                storedProjectNamesList.Add('"' + storedProjectName + '"');

                var lastModified = System.IO.File.GetLastWriteTime(storedProjectName);
                projectList_dialog1.InnerHtml += "<tr class='" + storedProjectName + "' onclick='listViewAction(event)'><td>" + storedProjectName + "</td><td>" + lastModified + "</td></tr>";
                projectList_dialog2.InnerHtml += "<tr class='" + storedProjectName + "' onclick='listViewAction(event)'><td>" + storedProjectName + "</td><td>" + lastModified + "</td></tr>";
            }
            projectList_dialog1.InnerHtml += "</table>";
            projectList_dialog2.InnerHtml += "</table>";

            storedProjectNames = string.Join(",", storedProjectNamesList);
        }
        else
        {
            serverMessage.InnerHtml = "Code (0x3): The system cannot find the path specified.";
        }
    }

将数据分配给一个局部变量,如innerHtml,只更改元素的innerHtml一次

protected void loadProjectList()
{
    var projectsPath = userDataPath + @"\" + username + @"\Projects";

    if (Directory.Exists(projectsPath))
    {
        var projects = Directory.GetDirectories(userDataPath + @"\" + username + @"\Projects");

        //create a variable
        var innerHtml = "<table><tr><td>Name</td><td>Date modified</td></tr>";

        List<string> storedProjectNamesList = new List<string>();
        for (var i = 0; i < projects.Length; i++)
        {
            var storedProjectName = projects[i].Remove(0, projects[i].LastIndexOf('\\') + 1);
            storedProjectNamesList.Add('"' + storedProjectName + '"');

            var lastModified = System.IO.File.GetLastWriteTime(storedProjectName);

            //add to that variable
            innerHtml += "<tr class='" + storedProjectName + "' onclick='listViewAction(event)'><td>" + storedProjectName + "</td><td>" + lastModified + "</td></tr>";
        }
        innerHtml += "</table>";

        //NOW set innerhtml on the objects
        projectList_dialog1.InnerHtml = innerHtml;
        projectList_dialog2.InnerHtml = innerHtml;

        storedProjectNames = string.Join(",", storedProjectNamesList);
    }
    else
    {
        serverMessage.InnerHtml = "Code (0x3): The system cannot find the path specified.";
    }
}

谢谢你,德勒!你的解决方案是如此简单和干净。我觉得我可能在过去为另一个项目做过这件事;真不敢相信我没看到。我猜你有时会在几个小时内看同一个代码而失明P