如何将文本框值存储在mvc中动态创建的数据库中

时间:2014-12-10 11:20:48

标签: asp.net-mvc asp.net-mvc-4

我创建了标签和文本框以及一个添加按钮和保存按钮   当我点击添加按钮 将添加标签和文本框 当我点击保存按钮数据将添加到数据库并且只保存一个名称(另一个动态创建的文本框值不插入数据库)我输入的所有文本框值 我的代码是

在model.cs中

         public void adddata(string Name)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
        SqlCommand cmd = new SqlCommand("addvalues", con);       
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@Name", Name);
             con.Open();
             cmd.ExecuteScalar();
        con.Close();
    }

在controller.cs中是

 public Action Result Add(database db)
    {
        database objdb = new database();         
        objdb.adddata(db.Name);            
        return View();
    }

在第二张图片中我点击保存按钮只有第一个文本框数据进入数据库仍然没有插入然后我要做什么来输入所有文本框值 this is my output

1 个答案:

答案 0 :(得分:0)

在您的数据库类中,定义" Name"作为列表,数组或任何集合类型。例如;

public class database{
    string[] Names;
}

并且在视图中您必须创建具有相同名称的文本框,例如

<input type="text" name="Names" />
<input type="text" name="Names" />
...

MVC会将它们绑定到您的模型(Mvc使用名称对话将数据绑定到模型)

和控制器

public ActionResult Add(database db)
{
    database objdb = new database();   

    for(...){
        objdb.adddata(db.Names[i]);  
    }     

    return View();
}