5

この既存のヘルパーの周りにラッパーを作成したい:

@Content.Url("...")

これをラップしてパラメーターを追加するヘル​​パーを作成するにはどうすればよいですか?

私のコントローラーにはプロパティがあります:

public bool IsAdmin {get; set;}

何らかの方法でコントローラーからこの値を参照し、次のように使用したいと思います。

@MyContent.Url("...", IsAdmin)

これどうやってするの?に追加する唯一の方法はありIsAdminますViewModelか?

4

2 に答える 2

0

探しているものの非常に良い例を次に示します

public class UrlHelperEx : UrlHelper
{
    #region Constants
    private const string c_VERSION_FORMAT = "{0}?v={1}";
    #endregion

    #region Initialization
    public UrlHelperEx(RequestContext requestContext)
        : base(requestContext)
    {
    }
    #endregion

    #region Public methods
    public string Content(string contentPath,bool forceupdate=false)
    {
        var content = base.Content(contentPath);

        if (!forceupdate) {
            return content.ToString();
        }
        else
        { 
            Version version = WebHelper.GetApplicationVersion(this.RequestContext.HttpContext);
            return string.Format(c_VERSION_FORMAT, content
                    , version.ToString());
        }
    }
    #endregion  
}
于 2013-04-22T19:27:25.277 に答える