для того, чтобы сделать простую систему управления контентом в MVC, вы, вероятно, хотите организ е вещи так, что модель страницы представляет собой список элементов контента, так что ваше мнение перебирает элементы контента и отображает их
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>
}
и помощник, который использует это
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());
}
где каждый Content.ContentType содержит имя шаблона, которое является именем представления MVC.
Таким образом, основной вид затем отображает несколько просмотров. Самый простой из моих частичных представлений просто содержит @ Html.Raw (content.Body), другие - более строгий контент, используя свойства класса Content. У меня есть один для управляемых изображений, один для новостных статей и т. Д.
Затем в вашем конце вы можете использовать элементы управления Kendo (или другие) для редактирования ContentBody, ContentTeaser и т. Д., Просто установив соответствующий ContentType, который называет частичное представление для его визуализации.
Надеюсь, это даст вам достаточно, чтобы вы начали.
Спасибо :) моя проблема в том, что у меня есть встроенный веб-сайт для клиента, а теперь клиентский запрос на изменение веб-сайта по своему усмотрению, изменение содержимого ..Images ..etc и все виды, созданные бритвой – Jala
вы могли бы сделать это напрямую, чтобы иметь некоторый код, который читал на стороне сервера взглядов бритвы, и позволял редактировать их - ведь они являются только файлами и скомпилированы во время выполнения. Однако переход от сайта, не связанного с контентом, к управляемому контентом, лучше всего сделать, введя CMS. В качестве предложения, Umbraco основано на Razor, позволяет редактировать шаблоны на стороне сервера и довольно приятно использовать редакторы. Тем не менее, его File: New-Project time! – Andiih