AjaxAsp.net MVC4与Razor呈现图片的扩大

        我们根据Asp.net MVC 4 Web Application
写一个恢宏方法来呈现图片的扩大。Gravatar举凡提供个人Profile信息的网站,包括图片LOGO。你可引用你的Profile到论坛,Blog都足以。
        一始我们形容一个Helper如下:

   1:  namespace MVC4Demo.Extensions

   2:  {

   3:      using System;

   4:      using System.Web.Mvc;

   5:      using System.Web.Security;

   6:   

   7:      public static class GravatarHtmlHelperExtensions

   8:      {

   9:          /// <summary>

  10:          /// Gets the Gravatar image URL.

  11:          /// </summary>

  12:          /// <param name="emailId">The email id.</param>

  13:          /// <param name="imgSize">Size of the img.</param>

  14:          /// <seealso cref="https://en.gravatar.com/"/>

  15:          /// <returns>Image MvcHtmlString</returns>

  16:          public static MvcHtmlString RenderGravatarImage(this HtmlHelper helper, string emailId, int imgSize)

  17:          {

  18:              if (string.IsNullOrEmpty(emailId))

  19:                  throw new ArgumentNullException("Email Id should not be null!");

  20:   

  21:              // Convert emailID to lower-case

  22:              emailId = emailId.ToLower();

  23:   

  24:              string hash = FormsAuthentication.HashPasswordForStoringInConfigFile(emailId, "MD5").ToLower();

  25:   

  26:              // build Gravatar Image URL

  27:              string imageUrl = string.Format(@"<img src=""http://www.gravatar.com/avatar/{0}?s={1}&d=mm&r=g"" />", hash, imgSize);

  28:   

  29:              return new MvcHtmlString(imageUrl);

  30:          }

  31:      }

  32:  }

接在Razor的Web.config中进入相应的Namespace:

  <system.web.webPages.razor>

    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    <pages pageBaseType="System.Web.Mvc.WebViewPage">

      <namespaces>

        <add namespace="System.Web.Mvc" />

        <add namespace="System.Web.Mvc.Ajax" />

        <add namespace="System.Web.Mvc.Html" />

        <add namespace="System.Web.Optimization"/>

        <add namespace="System.Web.Routing" />

        <add namespace="MVC4Demo.Extensions"/>

      </namespaces>

    </pages>

  </system.web.webPages.razor>

下一场在页面cshtml上我们可如此用了:

<div class="Author" style="position:relative;">   

<div style="position:absolute; top:10px;">       

 @Html.RenderGravatarImage(Model.AuthorEmail, 100)    

</div>

只要您对Asp.net MVC 4 Web
Application有一定了解,上面的代码并无麻烦知晓,这里呢只是非常简单的一个示范。希望对君支付有协助。

而或许感兴趣的文章:

Asp.net
MVC3扩张的Ajax异常处理特性

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意要保留这个段子声明,且当文章页面明显位置让有原文连接,否则保留追究法律责任的权。
拖欠篇也罢同时宣告于我之独自博客中-Petter Liu
Blog。

相关文章