в контроллере asp.net-mvc, каков наилучший способ создания URL - PullRequest
0 голосов
/ 26 апреля 2011

сейчас я беру

 RequestContext 

и передайте это в UrlHelper следующим образом:

UrlHelper u = new UrlHelper(context);
string hrSyncUrl = u.Action("Update", "Person");

но проблема в том, что это, кажется, возвращает:

/Person/Update

вместо:

http://www.mysite.com/Person/Update

Итак, учитывая контроллер и имя действия, как я могу сгенерировать ПОЛНЫЙ URL из контроллера?

причина, по которой мне это нужно, в том, что я генерирую электронное письмо, поэтому мне нужен полный URL, чтобы вставить текст этого письма.

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011

Используя правильную перегрузку :

string hrSyncUrl = u.Action("Update", "Person", null, "http");

И чтобы избежать жесткого кодирования протокола, вы можете получить его из запроса:

var protocol = context.HttpContext.Request.Url.Scheme;
string hrSyncUrl = u.Action("Update", "Person", null, protocol);
0 голосов
/ 26 апреля 2011
...