2017-04-09 28 views
2

嗨我在顯示特定數據方面存在錯誤。我通過模型傳遞了一個參數,並在創建新實例時出錯。這裏是我的代碼:使用存儲過程顯示具有參數的特定數據

控制器

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public IActionResult ViewEmployeeSalary(spGetSalaryPerEmployee getsal) 
    { 
     var salary = _Context.Set<spGetSalaryPerEmployee>().FromSql("spGetSalaryPerEmployee @empID = {0}", getsal.EmployeeID).AsNoTracking(); 
     return View(salary); 
    } 

查看 此,您單擊重定向到的詳細信息頁面

@foreach(var item in Model) 
 
{ 
 
    a class="btn btn-primary btn-sm" asp-controller="Salary" asp-action="ViewEmployeeSalary" asp-route-id="@item.EmployeeId"><span class="glyphicon glyphicon-dashboard" style="vertical-align:middle;margin-top: -5px"></span> Salary Details</a> 
 
}

這裏是按鈕該頁面,它認爲細節

@model PEMCOLoan.DAL.Entities.spModels.spGetSalaryPerEmployee 

@{ 
    ViewBag.Title = "Salary Details"; 
} 

<h2>@Html.DisplayFor(model => model.FullName)'s Salary Details</h2> 

<table class="table"> 
    <tr> 
     <td class="form-horizontal">ID:</td> 
     <td>@Html.DisplayTextFor(model => model.EmployeeID)</td> 
    </tr> 

    <tr> 
     <td class="form-horizontal">Salary Amount:</td> 
     <td>@Html.DisplayFor(model => model.Salary)</td> 
    </tr> 

    <tr> 
     <td class="form-horizontal">Remarks:</td> 
     <td>@Html.DisplayTextFor(model => model.Remarks)</td> 
    </tr> 
</table> 

我得到這個錯誤:

error

我真的不到底發生了什麼,但說的,我需要創建一個實例。 我對asp.net核心和ef核心仍有一點了解,現在仍在學習這種語言。我真的需要你的幫助,因爲我對這種語言有點新。

任何建議將不勝感激!

+1

請不要插入錯誤信息的圖像,而是插入文字。通過鏈接圖片,您不會從搜索引擎中獲取此錯誤的點擊數。 –

+0

請不要強制標籤變成問題標題。閱讀http://stackoverflow.com/help/tagging如何正確使用標籤 – Tseng

回答

1

您的控制器方法需要將單個記錄作爲錯誤狀態返回。現在,它返回一個列表,所以你需要改變的東西是這樣的:

var salary = _Context.Set<spGetSalaryPerEmployee>().FromSql("spGetSalaryPerEmployee @empID = {0}", getsal.EmployeeID).AsNoTracking().SingleOrDefault(); 
    //salary now is single record 
    return View(salary); 

也許你需要檢查salary變量不是null傳遞之前先查看,因爲這樣你就會有錯誤出現。

+0

嗨@Mantas,代碼似乎工作,但我重定向到一個空白頁,我不知道爲什麼。我試圖檢查asp動作,它似乎沒有錯。你能看看我的代碼嗎? –

+0

如果你在視圖中放置一個斷點,它會被擊中嗎?該視圖是否先顯示細節,然後重定向爲空白?或者直接進入空白頁面? –

+0

我確實把一個斷點,它似乎沒有通過我的ViewEmployeeSalary類。我看起來很奇怪,因爲我檢查了控制器和操作。 –