Все до сих пор сказали, как таблицы должны только использоваться для табличных данных, и это верно. Смотрите на источник HTML любой страницы на ТАК, и Вы будете видеть, что у них есть различная идея...
я думаю, что их объяснение - то, что иногда использование таблицы именно так намного более просто. Хотя, существует много действительно хороших причин удобства использования, почему избежать их.
Ваш относительный URI должен быть относительным, т. Е. Удалить первую косую черту (или добавьте точку),
string relative = "/my subsite/my page.aspx?my=query";
Uri test1= new Uri(relative.Substring(1), UriKind.Relative); // without 'root'
Uri test2= new Uri("." + relative, UriKind.Relative); // with 'current'
Рабочий пример:
Uri baseUri = new Uri("http://hostname/path/");
string relative = "/my subsite/my page.aspx?my=query";
Uri test1 = new Uri(baseUri, relative); // original string
Uri test2 = new Uri(baseUri, relative.Substring(1)); // without 'root' character
Uri test3 = new Uri(baseUri, "." + relative); // with 'current' character
Console.WriteLine(test1.OriginalString); // wrong
Console.WriteLine(test2.OriginalString); // right!
Console.WriteLine(test3.OriginalString); // right!
Итак, вам, вероятно, следует разобраться со своей относительной частью следующим образом:
if (relative.StartsWith("/"))
relative = "." + relative;