Проблема с ImageUrl, автоматически добавляя имя FOLDER к URL, созданному для изображения - PullRequest
2 голосов
/ 10 августа 2010

Я использую UC для создания общего экрана Thumb.

Мой UC находится в папке UserControls, а мои изображения находятся в папке Images.

Каждая запись в БД имелапуть ImageUrl, который идет к: Images / Items / (fileName).

Моя проблема заключается в том, что для каждого файла (я думаю, что во время рендеринга имя папки (UserControls) добавляется, поэтому в исходном коде я получаю следующеестрока:

<img src="UserControls/Images/Items/1t.jpg" style="border-width:0px;" /></td>

Мне действительно нужно иметь возможность удалить «UserControls /» из кода, но ничего не работает (я пытался удалить () и все, но проблема в том, что папка UserControlдобавлен во время рендеринга или что-то еще, я проверил ImageUrl, и это хорошо все время, даже после того, как я помещаю его в tableRow и так далее ...

Я знаю, что это происходит из-за проектаиерархия папок, но, к сожалению, изменяя это не вариант ...

Вот мой код, если кто-нибудь есть идеи, это было бы здорово, 10x

if (dtrThumbnails.Length > 0)
    {
        for (int i = 0; i < dtrThumbnails.Length; i++)
        {
            TableCell tdImgThumb = new TableCell();
            Image ImgThumb = new Image();
            ImgThumb.ImageUrl = dtrThumbnails[i]["ImageURL"].ToString();
            tdImgThumb.Controls.Add(ImgThumb);
            trImageThumbs.Controls.Add(tdImgThumb);
            ImgThumb.Dispose();

            RadioButtonList rdoImgList = new RadioButtonList();
            TableCell tdImgChecked = new TableCell();
            RadioButton rdoImgCheck = new RadioButton();
            rdoImgCheck.ID = dtrThumbnails[i]["ImageID"].ToString();
            rdoImgCheck.GroupName = "ImgThumbs";
            if (Convert.ToInt16(dtrThumbnails[i]["ImageID"]) == _CurrentThumb)
                rdoImgCheck.Checked = true;
            tdImgChecked.Controls.Add(rdoImgCheck);
            trImageCheck.Controls.Add(tdImgChecked);
            rdoImgCheck.Dispose();
        }
    }

dtrThumbnailsявляется DataRow [], который содержитВсе записи.

10x снова

1 Ответ

4 голосов
/ 10 августа 2010

Изменить эту строку:

ImgThumb.ImageUrl = dtrThumbnails[i]["ImageURL"].ToString();

К этому:

ImgThumb.ImageUrl = "~/" + dtrThumbnails[i]["ImageURL"].ToString();

~ / указывает полю Url на элементах управления (включая поле ImageUrl в элементе управления Image) перейти в корень приложения и добавить туда оставшуюся часть пути.

Вы также можете просто добавить "/", но если ваш сайт не находится в корне домена, это вызовет проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...