Как поставить знак числа в тему href mailto, которая будет работать для IE8 с использованием MVC3? - PullRequest
0 голосов
/ 01 февраля 2012

Я пытаюсь создать ссылку на электронную почту, используя 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».

1 Ответ

2 голосов
/ 01 февраля 2012

Вы можете использовать встроенный оператор C #.

@{
  string requestValue = "#" + Model.ID.ToString() // or "%23"
}

<a href = "mailto:@Model.Email?subject=Request @requestValue">@Model.Name</a> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...