#asp.net-mvc-3 #razor
#asp.net-mvc-3 #razor
Вопрос:
Этот тег Razor:
@:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
рендерится так:
[ Log On (/ACCOUNT/LOGON) ][/code]
Это сгенерированный HTML:
[ <a href="/Account/LogOn">Log On</a> ]
Как мне помешать этому или он просто делает это в режиме отладки?
Если это так, это глупо, потому что это портит мое представление о моем шаблоне.
Кроме того, как мне сделать это в Razor:
<a href="http://myexternallink.com"><img alt="external" src="@Url.Content("./Content/themes/base/images/spacer.gif")" class="icoExternal"></a>
Ответ №1:
Этот синтаксис
@:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
просто выдает исключение, поскольку это недопустимый синтаксис.
Предполагая маршруты по умолчанию:
[ @Html.ActionLink("Log On", "LogOn", "Account") ]
Визуализация:
[ <a href="/Account/LogOn">Log On</a> ]
во всех режимах (Debug, Release, что угодно), что является ожидаемым поведением.
Как мне помешать этому
Это ожидаемое поведение, я не понимаю, почему вы хотите, чтобы он этого не делал? Если вам не нужны квадратные скобки, просто удалите их:
@Html.ActionLink("Log On", "LogOn", "Account")
Что касается вашего второго вопроса:
<a href="http://myexternallink.com">
<img alt="external" src="@Url.Content("~/Content/themes/base/images/spacer.gif")" class="icoExternal" />
</a>
Комментарии:
1. Несмотря на то, что HTML отображается нормально, почему это должно выглядеть так: scic.com/files/eddie/mvc3_1.png
2. Я уже пробовал этот способ по второму вопросу с ужасными результатами.
3. @MB34, о нет, это совсем не похоже на это.
[ <a href="/Account/LogOn">Log On</a> ]
будет выглядеть так:[ LogOn ]
. Я не знаю, откуда вы получаете этот результат. Что касается второго вопроса, что вы подразумеваете под ужасными результатами? Я не уверен, что понимаю вас. У вас какие-то проблемы с CSS?4. Я знаю, что это должно выглядеть так, но я не могу понять, почему он добавляет маршрут, заключенный в () после ссылки. Я не могу найти его в своем CSS, это точно.
5. @MB34, вау, на это определенно невозможно ответить, если вы не покажете весь свой вид razor. Из опубликованного вами кода я гарантирую вам, что
[ @Html.ActionLink("Log On", "LogOn", "Account") ]
это невозможно отобразить.