2010-01-20 3 views
12

Как вы знаете,Как я могу получить только HREF часть Html.ActionLink результата текста

<%=Html.ActionLink("Back to List", "Index") %> 

генерирует HTML как это: <a href="/Content/Index">Back To List</a>

Но мне нужно только HREF часть.

Я буду использовать его в JS-коде, и я не хочу писать вручную.

Могу ли я подтвердить, что мне нужно?

+0

Вы пытаетесь отправить запрос ajax? –

ответ

19

Попробуйте ответить на этот

<%=Url.Action("Action","Controller")%> 
+2

Большое спасибо –

2

Матиаса является то, что я использую. ASP.NET MVC 2 дает вам сильно типы Url.Action.

Я считаю это самым полезным в JavaScript так:

<script type="text/javascript"> 
    var urlToPostTo = '<%= Url.Action<HomeController>(h => h.ContactUs()) %>'; 
    var someData = 'Some valuable data!'; 
    $.post(urlToPostTo, someData, function() 
    { 
     alert('Successfully posted some data to some url'); 
    }); 
</script> 

Это позволяет избежать ввода жёстко прописанных путей в разметке, оставив вас с немного более обслуживаемым раствором.

Тем не менее, я все еще надеюсь, что это будет время компиляции, как обычно, когда MVC 2 окончательно выпущен.

+0

Но теперь у вас есть контроллер Имя в представлении ... не в духе MVC и разделения проблем. – Martin

+0

Согласен, он может быть передан через модель просмотра, но, учитывая его выборку, это улучшение. Один шаг за раз: p –

Смежные вопросы