Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何将ID从对象从视图传递到控制器_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 如何将ID从对象从视图传递到控制器

Asp.net mvc 如何将ID从对象从视图传递到控制器,asp.net-mvc,Asp.net Mvc,我需要将视图数据(整数)从对象而不是整个对象传递到另一个具有整数参数的控制器操作 看法 存储库 public Boolean Delete(Int32 id) { using (SqlConnection con = new SqlConnection(_connectionString)) { con.Open(); SqlCommand cmd = new SqlCommand("usp_Customer_Delete", con);

我需要将视图数据(整数)从对象而不是整个对象传递到另一个具有整数参数的控制器操作

看法

存储库

public Boolean Delete(Int32 id)
{
    using (SqlConnection con = new SqlConnection(_connectionString))
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("usp_Customer_Delete", con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("Id",id);
        Int32 count = cmd.ExecuteNonQuery();
        if (count > 0)
        {
            return true;
        }
    }
    return true;
}

请注意,“模型-视图-控制器”标记用于回答有关模式的问题。ASP.NET-MVC实现有一个特定的标记。您的方法需要是
[HttpPost]public ActionResult Delete(Int32 id)
(它需要返回一个
ActionResult
),您可以使用隐藏字段来设置id,提交时它将被发布到控制器。将Delete controller方法设为HttpPost并返回ActionResult。对不起,我应该附加控制器而不是存储库代码。我已经更新了我的问题,请大家花点时间复习一下。谢谢。你的情况下什么不起作用?这应该能正常工作。我的意思是,如果你打算有一个带有文本框的表单,你可以在其中填写用户ID并提交它来删除用户。
public ActionResult Delete(Int32 id)
    {
        string connectionString = ConfigurationManager.ConnectionStrings["EComLocalConnection"].ConnectionString;

        CustomerRepository customerRepository = new CustomerRepository(connectionString);
        return View("ShowMessage", customerRepository.Delete(id));
    }
public Boolean Delete(Int32 id)
{
    using (SqlConnection con = new SqlConnection(_connectionString))
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("usp_Customer_Delete", con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("Id",id);
        Int32 count = cmd.ExecuteNonQuery();
        if (count > 0)
        {
            return true;
        }
    }
    return true;
}