0

我正在使用 VS2012、MVC4 C#、SQL 2008 R2

我有一个存储过程,它返回一个包含两个计算列的列表。在我的 SP 中,我需要从 View 传递两个参数,这些参数将在页面加载时从 javascript 生成并存储在 HiddenFields 中。

当我创建了一个参考时,我已经关注了这篇文章

Rest Context = new Rest();
List<Rest> RT = Context.ExecuteStoreQuery......

我得到一个错误。

有人能告诉我调用存储过程并从 View 传递值的正确方法吗?

4

1 回答 1

1

这就是我使用模型、视图和控制器获得 o/p 的方式

在我的模型类中,我有两个 .cs 文件,DefaultConnection.cs 和 Rest.cs

public class DefaultConnection : DbContext
{
    public DbSet<Rest> Restart { get; set; }
}

在 Rest.cs 中

public class Rest
{
    //These two properties are columns in Stored Procedure, Id -PK, 
    //Distance - Computed column in SP
    public int Id { get; set; }   
    public double Distance { get; set; }
}

在控制器中

Public ActionResult Get_Data()
{
    DefaultConnection Context = new DefaultConnection();
    IEnumerable<Rest> results = Context.Database.SqlQuery<Rest>
        ("Your SP @para1 = xyz, @para2 = abc") //If you have parameters or ("Just SP")
        .ToList();
    return View(results);
}

在视图中

@using MVC.Models
@model IEnumerable<Rest>

@{
     ViewBag.Title = "GetData";
 }

 <h2>GetData</h2>

 @foreach (Rest rt in @Model)
 {
   <table>
       <tr>
           <td>@rt.Id</td><td></td>
           <td>@rt.Distance</td>
        </tr>
   </table>

 }
于 2013-06-29T13:12:42.187 回答