Как я могу вернуть строку с @ Url.Action - PullRequest
0 голосов
/ 22 ноября 2018

Как я могу вернуть свойство модели с помощью URL и поставить его на щелчок вот так:

Модель:

public class MyModel
{
     public string link {get;set;}
}

Контроллер:

public ActionResult Index()
{
    MyModel oMyModel = new MyModel();
    oMyModel.Link = "@Url.Action('" + "Index" + "', '" + "Users" + "')";

    return View(oMyModel);
}

В поле зрения:

 <a class="font" href="#" onclick="@Model.LINK">Click Here</a>

Но в html он не рендерится корректно

1 Ответ

0 голосов
/ 22 ноября 2018

Сначала определитесь с делом.Вы используете link в вашей модели, Link в вашем контроллере и LINK в вашем представлении.В C # все это означает разные вещи.Выберите один и сделайте их одинаковыми.

Во-вторых, запись @ является синтаксисом Razor.Вы добавляете его в строку, а затем используете бритву, чтобы вставить эту строку в ваше представление.Но к тому времени Razor больше не будет обрабатывать его, поэтому он останется равным @Url.Action....

. Вы должны либо сделать это в своем контроллере, так что для переменной будет задан фактический URL (а не только"@Url.Action..."):

oMyModel.Link = Url.Action("Index", "Users");

Или, желательно, просто позвоните Url.Action по вашему мнению, что даст вам точно такой же результат:

<a class="font" href="@Url.Action("Index", "Users")">Click Here</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...