2010-03-01 3 views
2

В представлении «Детали» для HomeController я хотел бы создать ссылку на вид электронной почты на MiscController. Кроме того, мне нужно добавить элемент в QueryString.Как манипулировать Html.ActionLink, чтобы показать ссылку на другой контроллер?

Я хотел бы создать ссылку, которая идет что-то вроде:

<a href="http://www.blah.com/misc/SendMail?id=6"> 
    <font size="1">Report problems</font> 
</a> 

Я попытался следующие:

<% Html.ActionLink("<font size=\"1\">Report</font>", "SendMail", "Misc", Model.ImageID, new object()); %> 

Он не дал ссылку. Что мне не хватает?

ответ

6

Прежде всего, вы пропустили = после <%. Вот почему он ничего не выдал.

Кроме того, неправильный способ, которым вы прошли routeValues.

Оно должно быть:

<%=Html.ActionLink("<font size=\"1\">Report</font>", "SendMail", "Misc", 
    new { id = Model.ImageID }, null /*htmlAttributes*/) %> 

Пожалуйста, имейте в виду, хотя text аргумент будет кодироваться на выходе, так что нет никакого смысла в отправке HTML с этим аргументом.
Лучше всего использовать CSS для вашего HTML.

Например:

a.myLink {font-size: 0.5em;color:yellow;} 

и установить атрибут класса для анкерного элемента:

<%=Html.ActionLink("Report", "SendMail", "Misc", 
    new { id = Model.ImageID }, new { @class = "myLink" }) %>