ejaz mirza Ответов: 1

Я получаю вывод, но он отображает этот список system.collections.generic.list`1[system.string]


<pre> List<ListItem> files = new List<ListItem>();
            List<String> fi = new List<String>();
            string dpath = Path.GetDirectoryName(Server.MapPath("~/Files/"));
                while (sd.Read())
                {
                    if (sd["attachmentname"] != DBNull.Value)
                    {
                        ss = "\\" + sd["attachmentname"].ToString();
                        s1 = dpath + ss;
                    }
                foreach (string filePath in filePaths)
                {
                    if (filePath.Equals(s1))
                    {
                        files.Add(new ListItem(Path.GetFileName(filePath), filePath));
                        //   files.Add(Path.GetFileName(filePath));
                        fi.Add(Path.GetFileName(filePath));
                    }
                }
                }
                sd.Close();
                con.Close();
                cd1.Dispose();
        //    List<String> ls=files.ToList<String>;           
                return PartialView("gridattch",fi);    


я передаю это частичному представлению
<pre>@Model List<string>
    @{
        Layout = null;
        //<IEnumerable>
    }
    <html>
    <head>

    </head>
    <body>

        <div id="div1">
            <table>
                <tr>
                    <th>File Name</th>
                    <th>Link</th>
                </tr>
                @for (var i = 0; i <= Model.Count - 1; i++)

                {

                    <tr>
                        <td>
                            @Model[i].ToString()
                        </td>
                        <td>
                            @Html.ActionLink("Download", "Download", new { selectedfilename = @Model[i].ToString() })
                            @*@Html.ActionLink("Delete", "Delete", new { ImageName = @Model[i].ToString() })*@
                            @Ajax.ActionLink("Delete", "Delete", new { ImageName = @Model[i].ToString() }, new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "div1", InsertionMode = InsertionMode.Replace })
                        </td>
                    </tr>
                }
            </table>
        </div>
    </body>
</html>


Что я уже пробовал:

как удалить получаю эту строку на выходе
System.Collections.Generic.List`1[System.String] List

1 Ответов

Рейтинг:
2

Christiaan van Bergen

В вашем представлении вы определяете модель

@Model List<string>
Уберите эту линию. Модель @является динамической, если вы поместите в нее список строк из вашего контроллера, она будет работать как список строк. Кроме того, поскольку элементы в списке являются строками, вы не должны использовать их .ToString() для каждой @Model[i]