Как заставить 'codebehind' файл для Представления ASP.NET-MVC в RC1 быть созданным по умолчанию

Подсказка:

In Green & amp; По методу Сибсона для 2D Делоне они осуществляют поиск ближайшего соседа, начиная от центра облака и следуя по краям триангуляции к цели. Для равномерных распределений точек это приводит к стоимости √N операций за поиск.

Я считаю, что этот принцип может быть обобщен на тетраэдризации и будет соответствовать стоимости ³√N. Не так хорошо, как журнал N, но все равно привлекательно. Если точки запроса не являются случайными, но остаются локализованными, запуск с предыдущей точки может еще больше сократить время запроса.

5
задан Jeff Atwood 21 April 2009 в 09:28
поделиться

5 ответов

Для ответа на вопрос непосредственно я не думаю, что можно изменить это значение по умолчанию. Вы могли попытаться изменить шаблон (который будет где-нибудь в %programfiles %\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates"), но я не знаю наверняка.

Однако "MVC-путь" к этому сценарию состоит в том, чтобы, вероятно, создать пользовательского помощника в отдельном классе.

Я недавно записал веб-приложение, которое использовало Граватар (http://www.gravatar.com) для генерации фотографий профиля, и я продолжал писать то же пользовательское <img> теги на всем протяжении моих представлений, таким образом, я создал помощника: HTML. Граватар ()

Просто создайте статический класс "MyHelpers" или "GravatarHelpers" или "FooHelpers" и добавьте статические дополнительные методы с подписями как это:

public static string Gravatar(this HtmlHelper htmlHelper, string emailAddress) {
    return htmlHelper.Image(...);
}

или, если Вы используете представления со строгим контролем типов (ViewPage <T>) и хотите использовать в своих интересах это, можно расширить HtmlHelper <T>

public static string Foo<TModel>(this HtmlHelper<TModel> htmlHelper, ...) {
    // Do stuff
    return // Stuff
}

Можно легко выключить HtmlHelper для UrlHelper или AjaxHelper. Я полагаю, что можно также получить доступ к ViewData, и т.д. от свойства ViewContext на помощнике.

2
ответ дан 14 December 2019 в 13:49
поделиться

Это действительно не походит на прекрасную идею. В каждом комментарии, который я прочитал, было сказано, "не используют код - позади; нам жаль, что это не было там". И я соглашаюсь. Вы могли попытаться писать свою логику в дополнительных методах (традиционно на HtmlHelper) как здесь.

2
ответ дан 14 December 2019 в 13:49
поделиться

Я также хотел бы иметь код-behinds как значение по умолчанию, не может найти способ изменить его все же. Эта страница объясняет, как добавить codebehind к странице: http://msdn.microsoft.com/en-us/magazine/cc301556.aspx.

По-моему, классы с фоновым кодом идеальны для привязки данных средств управления и выполнения некоторых незначительных изменений к данным в случае, если это необходимо (например, дата и форматирование валюты). Также Повторители являются безусловно самым легким способом отобразить списки данных, я все еще, наклон находит способ выполнить итерации через анонимный набор типа, и только наличие для оператора на странице напоминает мне о PHP :S

0
ответ дан 14 December 2019 в 13:49
поделиться

Я ответил на этот вопрос здесь:

Как добавить Код - позади страницы к Частичному Представлению

Кажется, что это не было особенно хитро, и довольно выполнимо, Этот ответ работал на Частичный 'ViewUserControl', но то же должно применяться

Хорошо.

Во-первых: Добавьте файл Класса с конвенцией .cs (т.е. view.ascx.cs)

Во-вторых: Добавьте "Систему использования. Сеть. Mvc"; к классу

В-третьих: Измените Класс для Наследования "ViewUserControl <>"

В-четвертых: Добавьте следующее к заголовку Представления:

CodeBehind="View.ascx.cs" Inherits="Project.Views.Shared.View"

В-пятых: Скопируйте файлы из решения и опозорьте назад для пересоединения двух вместе

Примечание: Чтобы это работало с Нормальным Представлением MVC, просто необходимо наследовать класс от "ViewPage"

0
ответ дан 14 December 2019 в 13:49
поделиться

Я считаю, что код за файлами по-прежнему полезен. Хотя многие люди говорят о том, что они плохие, потому что они предоставляют метод, чтобы сломать шаблон проектирования, к которому стремится MVC, они по сути не делают этого. Вы можете сказать, что вид должен быть глупым, но я думаю, что, вероятно, правильнее сказать, что вид не Я полагаю, что нужно заниматься сложной бизнес-логикой. Тем не менее, он действительно должен заниматься аспектами презентации. Таким образом, есть элементы для представления информации, требующие кода, помимо простого html. Отсюда следует рассуждение о разделении задач (не говоря уже о чистой читаемости представления), что разметка связана с разметкой с кодом, поддерживающим ее там, где это необходимо.

Луис Абреу написал хорошую статью на эту тему

Файлы с выделенным кодом в asp.net mvc не являются злом

1
ответ дан 14 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: