2012-02-01 2 views
0

MVC3と強く型付けされたモデリングを使用して電子メールリンクを作成しようとしています。以下のように見えたMVC3を使用してIE8で動作するhref mailtoの番号記号を挿入するにはどうすればよいですか?

Request #56 

私の最初の試み:それは私が考えたものになった

<a href = "mailto:@Model.Email?subject=Request #@Model.ID">@Model.Name</a> 

完璧なHTMLた:

<a href="mailto:[email protected]?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は、対象をどのように処理するかを

SOLUTION起こって二つの問題が実際にあります 。

最初のIEは、件名のテキストに#を許可しません。したがって、#のインスタンスは%23で置き換える必要があります。

MVC3パーサは#[email protected]を正しく処理しません。それはModel.IDの値を代用しません。

正解を下回ったが、「カットアンドペースト」に注目されたい:

<a href="mailto:[email protected]?subject=Request %235">John Stone</a> 

以上:

@{ 
    string requestValue = "%23" + Model.ID.ToString() 
} 
<a href = "mailto:@Model.Email?subject=Request @requestValue">@Model.Name</a> 

上記は次のようになり、適切にクリッカブルhrefのメールのリンクを生成します電子メールの件名は "Request#5"になります。

+0

スペースを削除しようとしましたか? @Model.Name James

+0

スペースを削除すると、「Request #@Model.ID」 –

答えて

2

インラインC#ステートメントを使用できます。

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

<a href = "mailto:@Model.Email?subject=Request @requestValue">@Model.Name</a> 
関連する問題