2015-07-01 5 views
0
<div class="col-xs-6 text-right margin-top-x5"> 
    <div class="adduser pointer" data-url="@Url.Action("Register","Account")"><span class="glyphicons glyphicons-user"></span>&nbsp;Add New User</div> 
</div> 

В FireBug я могу видеть, но это не происходит в этом действии.MVC @ Url.Action не работает

<div class="adduser pointer" data-url="/Account/Register"> 
+5

Я надеюсь, что вы не пытаетесь использовать 'div' как' Ā' элемента. Что вы ожидаете от этого? Вы пытаетесь перейти к этому URL? Вы пытаетесь загрузить частичный вид внутри 'div'? –

+1

Ваш 'Url.Action()' в порядке. Проблема в том, как вы ее используете. Спросите себя, почему это в 'data-url', а не в' ' – haim770

+0

  Добавить пользователя
- даже это не работает –

ответ

0

@Url.Action("Register","Account") предполагается печатать только на URL соответствующего действия в определенном месте.

Вам нужно вместо этого @Html.Action. Узнайте больше об этом here

+2

Возможно, полезно упомянуть, что '@ Html.Action' не следует использовать внутри атрибута' data-'. –

0

Возможно, вы пытаетесь использовать якорь?

<div class="col-xs-6 text-right margin-top-x5"> 
    <a class="adduser pointer" href="@Url.Action("Register","Account")"> 
<span class="glyphicons glyphicons-user"></span>&nbsp;Add New User</div> 

Или вы могли бы использовать Html.ActionLink

<div class="col-xs-6 text-right margin-top-x5"> 
<span class="glyphicons glyphicons-user" /> 
@Html.ActionLink("Add New User", "Register", "Account", null, new { @class = "adduser pointer" }) 

1

Если вы хотите div быть интерактивными, вы должны дать ему некоторый код, чтобы сделать что-то, когда пользователь нажимает на нее.

$(function() { 
    $("[data-url]").click(function() { 
     location.href = $(this).data("url"); 
    }); 
} 

Или просто использовать якорь:

<a class="adduser pointer" href="@Url.Action("Register","Account")"> 
    <span class="glyphicons glyphicons-user"></span>&nbsp;Add New User</a>