ASP.NET MVC - 在不同的视图/控制器中调用相同的存储过程
创始人
2024-09-16 09:00:54
0

在ASP.NET MVC中,可以使用ADO.NET来调用存储过程并在不同的视图或控制器中重复使用。

首先,在项目中创建一个存储过程。假设我们有一个名为GetProducts的存储过程,它返回所有产品的列表。存储过程的示例如下:

CREATE PROCEDURE GetProducts
AS
BEGIN
    SELECT * FROM Products
END

接下来,在数据访问层中创建一个DataAccess类来处理与数据库的交互。在这个类中,可以编写一个方法来调用存储过程并返回结果。示例代码如下:

public class DataAccess
{
    private string connectionString = "your_connection_string_here";

    public List GetProducts()
    {
        List products = new List();

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand("GetProducts", connection);
            command.CommandType = CommandType.StoredProcedure;

            connection.Open();

            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Product product = new Product();
                product.Id = Convert.ToInt32(reader["Id"]);
                product.Name = reader["Name"].ToString();
                product.Price = Convert.ToDecimal(reader["Price"]);

                products.Add(product);
            }

            reader.Close();
        }

        return products;
    }
}

上述代码创建了一个名为GetProducts的方法,它通过执行名为GetProducts的存储过程来获取产品列表,并将结果转换为Product对象的列表。

接下来,在需要调用存储过程的控制器中实例化DataAccess类,并调用GetProducts方法。示例代码如下:

public class HomeController : Controller
{
    private DataAccess dataAccess = new DataAccess();

    public ActionResult Index()
    {
        List products = dataAccess.GetProducts();

        return View(products);
    }
}

在上述示例中,Index方法通过实例化DataAccess类并调用GetProducts方法来获取产品列表,并将其传递给Index视图。

最后,在视图中循环遍历产品列表并显示相关信息。示例代码如下:

@model List

@foreach (var product in Model)
{
    

@product.Name - @product.Price

}

上述示例中,@model List指定了视图的模型类型,并通过循环遍历产品列表来显示每个产品的名称和价格。

通过上述步骤,您可以在不同的视图或控制器中调用相同的存储过程,并重复使用代码。

相关内容

热门资讯

透视计算!圣游科技(透视)ag... 透视计算!圣游科技(透视)agpoker辅助(新2026教程有挂教学)>>您好:软件加薇136704...
透视安卓版!卡农大厅辅助(透视... 透视安卓版!卡农大厅辅助(透视)xpoker怎么辅助(细节揭秘真的有挂)>>您好:软件加136704...
一分钟了解!wepoker辅助... 一分钟了解!wepoker辅助器软件下载(透视)pokermaster辅助器(微扑克教程有挂教学)您...
我来教教你!荔枝竞技破解版(透... 我来教教你!荔枝竞技破解版(透视)wepoker辅助器激活码(详细教程有挂方式)您好:wepoker...
重大通报!福建13水有挂吗(透... 您好:这款wepoker透视是真的吗游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker透视...
科技揭秘!hhpoker辅助挂... 科技揭秘!hhpoker辅助挂是真的吗(透视)hhpoker德州透视(必赢方法有挂细节)【无需打开直...
带你了解!微信小程序功夫川辅助... 带你了解!微信小程序功夫川辅助(透视)有哪些免费的wpk辅助码(黑科技教程有挂细节)您好:有哪些免费...
科普分享!四川麻将口诀顺口溜(... hhpoker视频巡查真的假的开挂教程视频分享装挂详细步骤在当今的网络游戏中,hhpoker视频巡查...
透视游戏!wepokerplu... 透视游戏!wepokerplus辅助(透视)xpoker辅助助手(可靠教程有挂辅助);无需打开直接搜...
推荐攻略!中至赣牌圈挂件价格明... 推荐攻略!中至赣牌圈挂件价格明细(透视)wpk透视插件(技巧教程有挂技术)这是一款可以让一直输的玩家...