我試圖讓一個mailto鏈接顯示人名而不是實際的電子郵件地址。MVC3剃刀輔助方法顯示電子郵件地址與mailto傳遞變量
在我details.cshtml
文件我已經在網頁強類型的我的供應商
@model TheWorkshop.Web.Models.Supplier
不過雖然我可以用
@Html.DisplayFor(model => model.Email)
顯示與文本值的mailto一個mailto鏈接一樣的例如
< A HREF = 「電子郵件地址:[email protected]」> [email protected] </A>
我想是顯示人的名字來代替。所以狩獵約我決定以後儘量讓一個輔助方法
public static MvcHtmlString PrettyEmailAddress(this HtmlHelper htmlHelper,
string email, string name)
{
var mailToLink = new TagBuilder("a");
mailToLink.Attributes.Add("mailto", email);
mailToLink.SetInnerText(name);
return MvcHtmlString.Create(mailToLink.ToString());
}
但麻煩的是,當我嘗試調用它像這樣綁定:
@Html.PrettyEmailAddress(@model.Email, @model.Name))
我得到一個編譯錯誤
CS0103:名稱 '模式' 不在當前情況下存在
如果我傳遞的是字符串而不是@model.Email
和'@ model.Name`,那麼這個幫助器可以正常工作,但是如何將變量傳遞給幫助器呢?
嘗試這樣'@ Html.PrettyEmailAddress(Model.Email,Model.Name)' – 2013-03-12 02:38:40