Период, в котором нет проблемы (учитывая, что% 2E не решает проблему).Точка - это абсолютно действительный символ URL, независимо от того, в чем проблема, это не точка.Проверьте трассировку стека генерируемой ошибки или опубликуйте полную информацию об ошибке.
И вам не следует указывать URL-адрес, кодирующий весь путь.Только параметр строки запроса значение .
string b = "http://example.com/test.aspx?document=" + Server.UrlEncode("test.docx");
Вы по-прежнему получаете сообщение об ошибке, если пытаетесь сделать это таким образом?
Я бы не стал трогать SharePoint десяткойопора для ног.Однако выход из этого периода не обязательно помешает SharePoint выполнить свои махинации.Но, думаю, тебе стоит хотя бы попробовать.
Server.UrlEncode("test.docx").Replace(".", "%2E");