Как добавить Код - позади страницы к Частичному Представлению
Кажется, что это не было особенно хитро, и довольно выполнимо. Этот ответ работал на Частичное ViewUserControl
но то же должно запросить Нормальный MVC ViewPage
также
Добавьте новый файл Класса с конвенцией <view filename & extention>.cs
(т.е. view.ascx.cs
)
Добавить using System.Web.Mvc;
к классу
Измените класс для Наследования ViewUserControl<>
.
т.е. public class Foo:ViewUserControl
Добавьте следующее к заголовку Представления:
CodeBehind="View.ascx.cs" Inherits="Project.Views.Shared.View"
Скопируйте файлы из решения и опозорьте назад, чтобы повторно связать два вместе. Это не может быть необходимо в VS 2010 + и MVC 2 +.
Чтобы это работало с нормальным Представлением MVC, просто необходимо наследовать класс от "ViewPage"
Я не уверен, почему Вы создаете код позади файла, но если бы Вы действительно действительно делаете, затем я рассмотрел бы использование стандартного подхода веб-форм вместо этого.
Я также изучил бы основы MVC для понимания, почему страница behinds не нужна.
Хорошо, я проверил решение, вот что вам нужно отметить:
CodeBehind = "View.ascx.cs" Inherits = "Project.Views.Shared.View"
В вашем случае вам необходимо изменить "Project.Views.Shared.View" на основе вашего пространства имен и имени класса, и для доступа к элементу управления в коде программной части вам необходимо вручную добавить объявление в код программной части. , В моем случае мне нужно инициализировать элемент управления gigaSoft proEssential:
public class gigaTest2 : ViewUserControl
{
protected global::Gigasoft.ProEssentials.PegoWeb PegoWeb1;
protected void Page_Load(object sender, EventArgs e)
{
// Set Titles
PegoWeb1.PeString.MainTitle = "Hello ASP.NET";
PegoWeb1.PeString.SubTitle = "";
// One simple way of passing data, data binding also possible. //'
PegoWeb1.PeData.Subsets = 1;
PegoWeb1.PeData.Points = 6;
PegoWeb1.PeData.Y[0, 0] = 10;
PegoWeb1.PeData.Y[0, 1] = 30;
PegoWeb1.PeData.Y[0, 2] = 20;
PegoWeb1.PeData.Y[0, 3] = 40;
PegoWeb1.PeData.Y[0, 4] = 30;
PegoWeb1.PeData.Y[0, 5] = 50;
// Set style of chart and a few other properties //'
PegoWeb1.PePlot.Method = Gigasoft.ProEssentials.Enums.GraphPlottingMethod.Bar;
PegoWeb1.PePlot.Option.GradientBars = 8;
PegoWeb1.PeFont.FontSize = Gigasoft.ProEssentials.Enums.FontSize.Large;
}