Использование расширения UrlHelper без ссылки на страницу chtml - PullRequest
4 голосов
/ 12 октября 2011

У меня есть расширение UrlHelper, я буду использовать на каждой странице chtml.Могу ли я ссылаться на это расширение, не используя его?

UrlExtender.cs

using System;
using System.IO;
using System.Web.Mvc;

namespace MySite.Web.MVC.Extender
{
    public static class UrlExtender
    {
        public static string ContentLastWrite(this UrlHelper helper, string contentPath)
        {
            try
            {
                DateTime lastWriteTime = (new FileInfo(helper.RequestContext.HttpContext.Server.MapPath(contentPath))).LastWriteTime;
                contentPath = string.Format("{0}?v={1:yyyyMMddHHmmss}", contentPath, lastWriteTime);

                return helper.Content(contentPath);
            }
            catch
            {
                return helper.Content(contentPath);
            }
        }
    }
}

page.chtml

@using MySite.Web.MVC.Extender


<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <link href="@Url.ContentLastWrite("~/Content/Site.css")" rel="stylesheet" type="text/css" />
...

Я хочу избегать вызова «MySite.Web.MVC.Extender» на каждой странице «chtml»

Спасибо

1 Ответ

6 голосов
/ 12 октября 2011

Добавить <add namespace="MySite.Web.MVC.Extender" /> к <system.web.webPages.razor>/<pages>/<namespaces> в Views/Web.config.

...