Открытый метод из модели не отображается в Razor View - PullRequest
2 голосов
/ 09 мая 2011

У меня есть метод в моей модели:

    public string GetSubscriptionCode()
    {
        return String.Format(Name.ToLower().Replace("", "-"));
    }

Когда я хочу вызвать этот метод в представлении, я получаю сообщение об ошибке, что в моей модели такого метода нет:

 <div id="@Model.GetSubscriptionCode()"></div>

Есть идеи?

Обновление: Упс, я перепутал свои модели, я неправильно применил свой метод ... Теперь я бы снял этот вопрос, если бы смог

Ответы [ 2 ]

3 голосов
/ 09 мая 2011

Предполагая, что ваше представление строго типизировано для модели:

@model MyViewModel

, где MyViewModel содержит этот общедоступный метод:

public class MyViewModel
{
    public string Name { get; set; }

    public string GetSubscriptionCode()
    {
        return String.Format(Name.ToLower().Replace("", "-"));
    }
}

, вы должны иметь возможность совершенно точно получить к нему доступпредставление:

<div id="@Model.GetSubscriptionCode()"></div>

Не беспокойтесь, если Visual Studio подчеркивает это, говоря, что он не существует.Интеллигентность во взглядах далека от совершенства.Просто запустите ваше приложение, и оно будет работать как положено.

0 голосов
/ 09 мая 2011

Может быть, это метод расширения, поэтому вам нужно включить / импортировать пространство имен, реализующее этот метод расширения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...