如你所知,
<%=Html.ActionLink("Back to List", "Index") %>
生成如下的html:<a href="/Content/Index">Back To List</a>
但我只需要href部分。
我将在JS代码中使用它,我不想手动编写。
我能否确定我需要的部分?
答案 0 :(得分:19)
试试这个
<%=Url.Action("Action","Controller")%>
答案 1 :(得分:2)
Mathias的回答是我使用的。 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最终发布时正常检查编译时间。