Получение значения HtmlString из сообщения формы в mvc3 - PullRequest
1 голос
/ 29 июля 2011

у меня есть форма в виде бритвы в моем проекте aspnet mvc3. Форма отправляет в действие контроллера, которое получает объект Custom, одно из свойств которого имеет тип HtmlString. Это свойство приходит со значением NULL из формы отправки, и если свойство имеет тип строки, значение является тем, которое пишет пользователь. Как я могу получить это значение, когда свойство этого типа?

Спасибо!

Редактировать: форма представляет собой сообщение создания .. я имею в виду, что это похоже на:

<form action="@Url.Action("SaveNote", "Application")" method="post" class="note-form" style="display:none">
        <fieldset>
            <div class="input_item">
                <div class="label">
                    <input type="hidden" name="urlRedirect" value="@Model.UrlRedirect" />
                    <select name="IsPrivate">
                        <option value="False">Public</option>
                        <option value="True">Private</option>
                    </select>
                </div>
                <div class="input">
                    <textarea name="Body" style="width:290px; height:90px"></textarea>
                </div>
                <button class="link" type="submit" name="addnote" value="0" >save</button>
            </div>
        </fieldset>
    </form>

Body - это параметр HtmlString, который имеет значение null для действия.

Ответы [ 3 ]

1 голос
/ 29 июля 2011

HtmlString следует использовать только в пользовательских помощниках при визуализации некоторых данных в представлении, но никогда не используйте свойство этого типа в ваших моделях представлений. Это просто не имеет смысла. Затем внутри вашего представления в зависимости от того, хотите ли вы закодировать или нет это строковое свойство, просто используйте:

@Model.Foo

или

@Html.Raw(Model.Foo)
1 голос
/ 29 июля 2011

HtmlString - это просто обертка вокруг обычной строки для представления уже закодированных строк HTML. Таким образом, если вы не напишите пользовательское связующее, которое создает объект HtmlString через его конструктор HtmlString(string value), вы получите для него нулевое значение.

Метод ToHtmlString() просто возвращает переданную строку, по крайней мере, в реализации .NET 4.

Так что да, просто используйте строку. Функционально то же самое.

0 голосов
/ 29 июля 2011

Не используйте HtmlString.Просто используйте string.

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