Question: I have a file uploader that works, in that the file and variable are getting uploaded, and the complete handler is getting triggered, when the upload is complete.. however the progress handler is not.. any ideas why not?... regards J

```
    function uploadFile_function(){
    var formData = new FormData();
    formData.append("var1", "jane"); 
    formData.append("varFile", fileToUpload);

    var xhr = new XMLHttpRequest();
    xhr.open("POST", "upload.php");  

    xhr.addEventListener("progress", function (ev) {
        alert('progress');
    }, false);

    xhr.addEventListener("load", function (ev) {
        alert('complete');
    }, false);

    xhr.send(formData);
}

```

Answer: 
Check out my answer to this [our.umbraco.org forum post](http://our.umbraco.org/forum/developers/razor/33050-IngroupsOf?p=0#comment121481). Basically, depending on whether the MNTP is using XML or CSV, you can do one of the following:

**CSV:**

```
@using umbraco.MacroEngines
@inherits DynamicNodeContext
@if (Model.HasValue("venuesPicker"))
{
    string[] ids = Model.venuesPicker.Split(',');

    <ul>
    @foreach (string id in ids)
    {
        var node = Library.NodeById(id);
        if (node.Id != 0)
        {
            // If node exists:
            <li><a href="@node.Url">@node.Name</a></li>
        }
    }
    </ul>
}

```

**XML:**

```
@using umbraco.MacroEngines
@inherits DynamicNodeContext
@if (Model.HasValue("venuesPicker"))
{
    <ul>
    @foreach (var item in Model.venuesPicker)
    {
        var node = Library.NodeById(item.InnerText);
        if (node.Id != 0)
        {
            // If node exists:
            <li><a href="@node.Url">@node.Name</a></li>
        }
    }
    </ul>
}

```
You can use uQuery.getNodesByCSV or uQuery.getMediaByCSV too.
uQuery was added to Umbraco core in 4.9 I think, otherwise you can install uComponents package

so for example I have something like this in 4.9.1 to loop through some media

```
@using umbraco.MacroEngines
@using umbraco.cms.businesslogic.media
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
    <div class="slideshow">
        @foreach (Media img in uQuery.GetMediaByCsv(Model.lightBoxImages))
        {
            <figure>
                <a href="#">
                    <img src="@img.GetImageUrl()"  />
                </a>
            </figure>   
        }
    </div>
}

```

[further info on Umbraco forum](http://our.umbraco.org/forum/developers/razor/33302-Iterating-through-ultimate-picker)