2013-04-24 3 views
0
내가 MVC 4를 사용하여 .NET 프레임 워크와 함께 일하고 있어요

나는 컨트롤러를 가지고 :.NET 면도기 모델 널

using DataProvider.Queries; 
using DataProvider.Models; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 

namespace ATSGlobalDashboard.Controllers 
{ 
    public partial class ATSNavigatorController : Controller 
    { 

     public virtual ActionResult Index(DataProvider.Models.GaugeAveragesViewModel model) 
     { 
      return View(model); 
     } 
    } 
} 

모델 : 다음입니다

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace DataProvider.Models 
{ 
    public class GaugeAveragesViewModel 
    { 
     public decimal? timetoresolutiontotalqtd { get; set; } 
     public int? backlogtotalcount { get; set; } 
     public double? AverageSatisfacationResult { get; set; } 
    } 
} 

사용할 내보기/데이터 비주얼의 값.

내가 그러나 나는 @Model.AverageSatisfactionResult에 대한 null 객체의 오류가 발생하고, 입력 값을 가지고 다른 자원을 사용할 수 있도록하려면
@model DataProvider.Models.GaugeAveragesViewModel 
@{ 
    ViewBag.Title = "GlobalDashboardModal"; 
} 

<div class="row"> 
    <div id="satisfactionChartButton" class="large-3 large-offset-1 columns modalGaugeArea allGaugesSetup"> 
     <div class="chartModalTitle">Customer Satisfaction</div> 
     <div id="customerSatisfactionGauge" class="gaugeContainer"></div> 
     <input id="customerSatisfactionGaugeValue" value="@Model.AverageSatisfacationResult"/> 
     <div class="chartModalDialog"></div> 
     <div id="satisfactionOverlay"> 
      <div class="overlayChartTitle">Customer Satisfaction<br /> 
       Chart 
      </div> 
      <img class="overlayImages" src="@Url.Content(Links.Content.img.wht_Desktop_Analytics_png)" /> 
      <div class="overlayChartDialog">Click to View Chart</div> 
     </div> 
    </div> 
</div> 

어쨌든 빨리 테스트가 : 내보기의 일부는 다음과 같이 설정되어 이, 아니면 @Model 면도기 문법을 사용하는 단계를 떠나는 것입니까?

내가 컨트롤러를 보았다 : 당신이 컨트롤러에서 모델을 뷰에 전달하는 경우

+1

컨트롤러 코드를 알려주십시오. 컨트롤러는 인스턴스를 가져 와서 뷰로 전달해야하는 곳입니다. '@ Model' 선언은 오직 당신이 면도기에서 IntelliSense를 사용할 수 있도록 해줍니다. 그것은 컨트롤러 부분에 추가 된 – Kenneth

+0

데이터를 가져 오지 않습니다. 감사. – Alexander

+0

색인에 ActionResult 가져 오기 메소드와 Post ActionResult 메소드가 필요합니다. 이제 컨트롤러에서 페이지를 가져올 때 모델이 null이되므로 null 객체를보기로 전달합니다. 너가 원하는게 그거야? – TheGeekYouNeed

답변

0

는, 당신은

 @model.AverageSatisfacationResult 


    <input id="customerSatisfactionGaugeValue" value="@Model.AverageSatisfacationResult"/> 

Replace by 

    @Html.EditorFor(m=>model.AverageSatisfacationResult) 

편집 @Model하지 @model

로를 사용할 수 있습니다 그리고 그것은 문제의 원인입니다. 당신은 Get Action에 대한 매개 변수로서 모델을 가지고 있습니다. 어디서 오는지 알 수 있다면 다음을 수행 할 수 있습니다.

public virtual ActionResult Index() 
     { 

      DataProvider.Models.GaugeAveragesViewModel model= new GaugeAveragesViewModel{ 
        timetoresolutiontotalqtd =1.3, 
        backlogtotalcount=3, 
        AverageSatisfacationResult=5d 
        } 
      return View(model); 
     } 
+0

다른 모델 intellisense를 사용할 때 위의 컨트롤러 코드를 추가했습니다. 기대할 것으로 예상되는 것. – Alexander

+0

내가보기에 몇 가지 예를 기반으로 잘못 설정했다고 생각합니다. 나는 .NET에 익숙하지 않으며 면도기 구문에 대해 아무것도 모릅니다. 보기에서 모델 값을 가장 잘 사용할 수 있도록 컨트롤러를 설정하는 것이 좋습니다. – Alexander

+0

위와 같이 더미 데이터로 테스트합니다. –

관련 문제