Я пытаюсь создать ссылку на электронную почту, используя MVC3 и строго типизированное моделирование.Я хочу, чтобы тема электронного письма содержала знак #, подобный следующему:
Request #56
Моя первоначальная попытка выглядела следующим образом:
<a href = "mailto:@Model.Email?subject=Request #@Model.ID">@Model.Name</a>
Это привело к тому, что я считаю идеальным HTML:
<a href="mailto:john.stone@nowhere.com?subject=Request #5">John Stone</a>
Я обнаружил, что Internet Explorer не нравится знак # в теме.Если бы я нажал на вышеуказанную «ссылку», тема была бы установлена на:
Request
После поиска здесь я обнаружил, что мне нужно использовать% 23 вместо #.Поэтому моя вторая попытка выглядела так:
<a href = "mailto:@Model.Email?subject=Request %23 @Model.ID">@Model.Name</a>
Это привело к следующему:
Request # 56
Закрыть, но я не хочу пробела между # и числом.
Как правильно использовать клавишу # без пробела?
Я использую MVC3 и пытаюсь заставить это работать в IE8.
* добавил некоторые подробности о первой попытке, в результате HTMLи как IE обрабатывает тему
РЕШЕНИЕ На самом деле происходит две проблемы.
Во-первых, IE не разрешает # в тексте темы.Поэтому любой экземпляр # должен быть заменен на% 23.
Во-вторых, анализатор MVC3 НЕ обрабатывает #23@Model.ID правильно.Он НЕ будет подставлять значение Model.ID.
Правильное решение указано ниже, но для «вырезания и вставки»:
@{
string requestValue = "%23" + Model.ID.ToString()
}
<a href = "mailto:@Model.Email?subject=Request @requestValue">@Model.Name</a>
Приведенное выше сгенерирует правильно кликабельную href почтуссылка, которая будет выглядеть следующим образом:
<a href="mailto:john.stone@nowhere.com?subject=Request %235">John Stone</a>
При нажатии выше, тема сообщения будет «Запрос № 5».