を、それを反映して保存した後、タイトル&絵&を変更したいです、あなたはおそらくしたいです組織電子物事ページモデルは、コンテンツ項目のリストは、あなたのビューは、コンテンツ項目を反復処理し、それら
public partial class Content
{
public Content()
{
this.Pages = new HashSet<Page>();
}
public int ContentID { get; set; }
public string ContentTitle { get; set; }
public string ContentImage { get; set; }
public string ContentImageAlt { get; set; }
public string ContentTitleLink { get; set; }
public string ContentImageLink { get; set; }
public string ContentBody { get; set; }
public string ContentTeaser { get; set; }
public System.DateTime ContentDate { get; set; }
public bool enabled { get; set; }
public int SortKey { get; set; }
public int ContentTypeID { get; set; }
public virtual ContentType ContentType { get; set; }
public virtual ICollection<Page> Pages { get; set; }
}
が表示されるように、なるように、ビューは単に
@foreach (var art in Model.Content)
{
<text>
@Html.DynamicPageContent(art)
</text>
}
とで使用していますヘルパーです各Content.ContentTypeはMVCビュー名であるTEMPLATENAMEが含ま
public static MvcHtmlString DynamicPageContent(this HtmlHelper helper, Content content)
{
if (content.ContentType==null) return new MvcHtmlString(content.ContentBody);
return content == null ? null : MvcHtmlString.Create( String.Format("\n<!--{0}: {1}({2})-->\n",content.ContentID, content.ContentType.ContentTypeDescription, content.ContentTypeID)+helper.Partial(content.ContentType.TemplateName, content).ToString().Trim());
}
。
したがって、メインビューでは多くの宗教的な表示がレンダリングされます。 @Html.Raw(content.Body)が含まれています。他の人は、Contentクラスのプロパティを使用して、より多くのstrcuturedコンテンツをレンダリングします。私は管理された画像、ニュース記事などを取得しました。
バックエンドでは、剣道のコントロール(またはその他)を使ってContentBody、ContentTeaserなどを編集できます。適切なContentTypeを設定するだけで、部分表示に名前を付けてレンダリングすることができます。
これで十分です。
ありがとうございました:) 私はクライアントのために構築されたウェブサイトを持っていて、今は彼が好きなようにウェブサイトを変更するクライアントの要求を変更しました。コンテンツ..イメージ... etc、そしてすべてのビューはカミソリで作られました – Jala
あなたがそれを直接行うことができる方法は、剃刀ビューのサーバー側を読んで、それらを編集できるようにするコードをいくつか持つことです。結局のところ、それらはファイルだけで実行時にコンパイルされます。しかし、非コンテンツ管理サイトからコンテンツ管理サイトへの移行は、おそらくCMSを導入することによって最も効果的です。提案として、UmbracoはRazorベースであり、テンプレートのサーバー側の編集を可能にし、エディターが使用するのに非常にいいです。しかし、そのFile:New-Project時間! – Andiih