1

У меня есть проект ASP.Net MVC 4, .net 4.5 с пакетом. когда я добавляю [Авторизовать] к моему контроллеру, вызовы @ Scripts.Render и @ Styles.Render ломаются с «ссылкой на объект, не установленной в экземпляр объекта».Авторизовать атрибуты breaks @ Script.Render

Я не могу за жизнь меня разобраться, почему!

Неужели кто-нибудь сталкивался с этим раньше? может ли кто-нибудь помочь?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using Project.Models; 
using Project.Repositories; 

namespace Project.Controllers 
{ 
    [Authorize] 
    public class HomeController : Controller 

это разбивает мое мнение _layout:

@model PageModel 
<!DOCTYPE html> 
<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

    <title>Project</title> 
    <meta name="description" content="">  
    <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'/><meta name="apple-mobile-web-app-capable" content="yes" /> 
    <meta name="format-detection" content="telephone=no"> 


    @Styles.Render("~/Content/bootstrap") 
    @Scripts.Render("~/bundles/jquery")   
    @Scripts.Render("~/bundles/initializr")   
+0

Вы пробовали отладчик? На каком объекте вы получаете исключение? Покажите нам какой-то код – Dmitry

+0

Привет, Дмитрий, я пробовал отлаживать, но внутреннее исключение равно null, трассировка стека не показывает ничего полезного ... Я в недоумении .. – Doga

ответ

1

справа, после того, как чесать голову в течение нескольких часов на это и смотреть во всех видах несвязанных местах, я разработал вопрос ...

В моем представлении _Layout были другие звонки бритвы, которые смотрели на свойства pagemodel ниже, однако, когда я перенаправляюсь для входа в систему для аутентификации, pagemodel имеет значение null, и в этом проблема.

просто помните людей, линия Visual Studio ломается, это не всегда линия с актуальной проблемой, особенно в бритве, должно было запомнить это раньше! посмотрите ниже, в следующем утверждении.

1

Я испытал это раньше, и я нашел свою ошибку. Проблема была в этой линии @Styles.Render("~/andia-agency/css") (_layout)

В BundleConfig файл

  bundles.Add(
      new ScriptBundle("~/andia-agency/css") 
      .Include("~/Content/andia-agency/assets/bootstrap/css/bootstrap.min.css") 
      .Include("~/Content/andia-agency/assets/prettyPhoto/css/prettyPhoto.css") 
      .Include("~/Content/andia-agency/assets/css/flexslider.css") 
      .Include("~/Content/andia-agency/assets/css/font-awesome.css") 
      .Include("~/Content/andia-agency/assets/css/style.css")); 

Я изменил новый ScriptBundle к новойStyleBundle. Это может устранить вашу проблему или другие проблемы.

2

Я просто хочу добавить исправление для этого. Я боролся с ним в течение последнего часа и, наконец, понял, что это. В моем случае @Scripts.Render("~/my/script/bundle") включал файл JavaScript, в котором была простейшая синтаксическая ошибка. Вот и все. Когда я понял, что это может быть, я пошел и посмотрел файл JavaScript, и, конечно же, маленькая красная волнистая линия давала мне палец.

Смежные вопросы