ASP.NET MVC の場合、インライン編集をサポートするフィールドをレンダリングするには @Html.Sitecore().Field メソッドを使用します。image フィールドをレンダリングする場合は画像加工用のパラメータを渡したい場合があると思います。本記事では Image や General Link フィールドレンダリング用に加工用のパラメータを渡す方法を記載します。

image フィールドをレンダリングするときに 使用できるパラメーターはプレゼンテーションコンポーネント XSL リファレンスの<sc:image> XSL 拡張コントロールの説明にあるようなパラメーターを渡すことができます。http://sdn.sitecore.net/Articles/XSL/5%203%20Enhancements/Image%20Enhancements.aspx も参考になります。

さっそくですが、画像加工用のパラメーターを渡す場合は、第二引数に設定します。第二引数のパラメーターには そのほか img タグの 属性に指定する任意のパラメーターを渡すことができます。下コードの例では画像の高さと幅を加工するパラメーター以外に css 用に class の設定もしています。class は imgタグ の class に設定されます。

@Html.Sitecore().Field("Image1", new  { w=100, h=100, @class="img-blue" })

上記コードを使用することで例えば 次のようなマークアップが生成されます。生成されるマークアップはimgフィールドや画像のアイテムのプロパティ値によっても異なります。

<img src="/~/media/System/Simulator Backgrounds/Android Phone_landscape.ashx?h=100&amp;la=ja-JP&amp;w=100" class="img-blue" alt="Android Phone" width="100" height="100" />

General Linkフィールドも同じようにGeneral Link用のパラメーターを設定できます。例えば 以下のコードのように text パラメーターを設定するとリンクの表示名を変更できます。

@Html.Sitecore().Field("Link1", new { text = "上書き", DisableWebEdit = true })

DisableWebEdit を true にするとインライン編集を行えなくすることができます。