Итак, я пытаюсь найти узел Umbraco (как iPublishedContent) и передать его во viewModel (так как я перехватил маршрут). Итак, я поместил это в свой контроллер:
private AddCouponCodesViewModel viewModel;
public AddCouponCodesController(){
//Get iPublished content
IPublishedContent content = Umbraco.TypedContent(1225);
//Pass to viewModel
viewModel = new AddCouponCodesViewModel(content);
RouteData.DataTokens["umbraco"] = content;
}
public ActionResult Index()
{
//return view etc
}
Но я получаю
Exception Details: System.NullReferenceException:
Object reference not set to an instance of an object.
здесь:
Source Error(AddCouponCodesViewModel.cs):
Line 20:
Line 21: }
Line 22: public AddCouponCodesViewModel(IPublishedContent content)
Line 23: : base(content)
Line 24: {
AddCouponCodeRenderModel.cs:
public class AddCouponCodesViewModel : RenderModel
{
public string test { get; set; }
public List<string> tables { get; set; }
public List<string> errors { get; set; }
public AddCouponCodesViewModel(IPublishedContent content, CultureInfo culture) : base(content, culture)
{
}
public AddCouponCodesViewModel(IPublishedContent content)
: base(content)
{
}
А это Global.asax
public class Global : UmbracoApplication
{
protected override void OnApplicationStarted(object sender, EventArgs e)
{
base.OnApplicationStarted(sender, e);
BundleConfig.RegisterBundles(BundleTable.Bundles);
//AreaRegistration.RegisterAllAreas();
//WebApiConfig.Register(GlobalConfiguration.Configuration);
//FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
//RouteConfig.RegisterRoutes(RouteTable.Routes);
base.OnApplicationStarting(sender, e);
RouteTable.Routes.MapRoute(
"AddCouponCodes", // Route name
"Admin/{controller}/{action}/{id}", // URL with parameters
new { controller = "AddCouponCodes", action = "Index", id = "" } // Parameter defaults
);
}
}
Контент опубликован (я проверил и перепроверил), и идентификатор узла правильный.
Что я в основном пытаюсь сделать здесь, так это получить маршрут example.com/Admin/{controller}/{action}/{parameter} для маршрутизации, но возникают проблемы с подключением его к umbracoNode (и для класса RenderModel требуется iPublishContent в качестве параметра, но мне не везет, когда я пытаюсь передать что-либо)
Может кто-нибудь, пожалуйста, помогите мне здесь, слишком много часов застрял на этом :-(
RenderModel
. Судя по тому, где вы сказали, что возникает ошибка, похоже, что ошибка происходит внутри конструктора этого класса. - person Justin Helgerson   schedule 24.09.2013