Архив метки: ASP.NET MVC

ASP.NET MVC RedirectToRoute & Default

Крайне полезная штука RedirectToRoute если нужно отправить пользователя на Default страницу, и при этом не хардкодить Action, Controller или Url.

На примере авторизации.

public class MvcApplication : System.Web.HttpApplication
{
        ...
public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "home", action = "page", id = UrlParameter.Optional } // Parameter defaults
            );
        }
        ...
}

public class AuthController : Controller
    {
                [HttpPost]
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.UserName, model.Password))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                        && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                    {
                        return Redirect(returnUrl);
                    }
                    else
                    {
                        // отправляем пользователя по Default направлению.
                        return RedirectToRoute("Default");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
...

ExtJS Intellisense в Visual Studio 2010

Так как при использовании ExtJS приходиться писать много JavaScript кода, то возникает вполне естественное желание получить Intellisense при этом. Оказывается включить Intellisense в Visual Studio очень легко.

Читать далее

ASP.NET MVC: jqGrid и Dynamic LINQ и Expressions.

Продолжаю эксперименты с jqGrid. На этот раз дотянулись руки до создания динамического запроса.

В прошлой статье удалось сократить сигнатуру метода получения данных ProductData. Но остался большой кусок кода отвечающий за создание запроса на основании введенных пользователем данных в поля фильтра таблицы. Все бы ничего, но кодить такое совершенно не доставляет удовольствия.

Читать далее

ASP.NET MVC: jqGrid и поиск. Refactoring

В прошлой статье мы ознакомились с тем как вывести таблицу используя плагин jqGrid, реализовали постраничный вывод данных и поиск на стороне сервера.

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

Читать далее

ASP.NET MVC: jqGrid и поиск

Продолжаю изучать возможности плагина для отображения табличных данных. В этот раз посмотрим как можно осуществлять поиск. В предыдущей статье я просто подключил плагин и вывел результаты. Сегодня пойдем чуть дальше и посмотрим возможности поиска. Для простоты подготовил пример проекта в котором уже есть источник данных и представление отображающее таблицу. Исходники можно скачать тут

Читать далее

Биндинг сложных объектов в ASP.NET MVC

Механизм биндинга данных в ASP.NET MVC мощный, и позволяет биндить не только простые типы, но и достаточно сложные классы. В данной статье будут рассмотрены 4 сценария. Опыт разработки ASP.NET MVC приложений у меня небольшой, но с данными задачками я уже столкнулся.

Читать далее

Загрузка файла или нескольких файлов в ASP.NET MVC 2

Перевод: Phil Haack — Uploading a File (Or Files) With ASP.NET MVC
Я хотел убедиться в том как осуществляется загрузка файла или набора файлов с помощью ASP.NET MVC и первым результатом поиска по фразе “uploading a file with asp.net mvc” была статья в блоге Скотта Хансельмана.
Его статья очень подробна и помогает понять что происходит под капотом. У меня есть только одна претензия к коду, он может стать проще, потому что с тех пор мы доработали ASP.NET MVC 2. Я пишу эту статью в блог в надежде скинуть его статью с первого места.

Читать далее

ASP.NET MVC 2 и jqGrid

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

После непродолжительных поисков наткнулся на плагин jqGrid к jQuery.
Возможности плагина:

  • Постраничная загрузка данных (Paging)
  • Inline редактирование данных
  • Сортировка и фильтрация
  • Режим отображения — SubGrid. По сути это разновидность Master — Detail
  • Режим отображения древовидных списков — TreeGrid

Читать далее