Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 将数据从模型返回到视图_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 将数据从模型返回到视图

Asp.net mvc 将数据从模型返回到视图,asp.net-mvc,Asp.net Mvc,现在,如何从模型中获取视图中的数据? 我的代码: 视图: 型号: namespace LoginSys.Models { public class database { public void connectDB(String name, String email, String pwd) { String conStr = "Data Source=HUNAIN-P

现在,如何从模型中获取视图中的数据? 我的代码:

视图:

型号:

     namespace LoginSys.Models
    {
        public class database
        {
            public void connectDB(String name, String email, String pwd)
            {
                String conStr = "Data Source=HUNAIN-PC;Initial Catalog=registration;User ID=sa;Password=abc123!@#";

                sqlconnection sqlCon = new sqlconnection(conStr);
                string comm = "insert into tblRegister  values('"+name+"','"+email+"','"+pwd+"')";
                sqlcommand sqlCom = new sqlcom(comm, con);

                try
                {
                 sqlCon.Open();
                 sqlCon.executeNonQuery();
                }
                 catch(exception exc)
                 {
                  //code
                 }
                 finally
                 {
                  con.close();
                 }


            }
        }
    }

现在,如何返回受ExecuteOnQuery语句影响的行数或假设要返回的任何内容?简单的话,请在这个方法上帮助我,稍后将使用高级技术。

如果您想返回一些内容,可以使用SQLParameterDirection。如下输出:

SqlCommand cc = new SqlCommand(connStr); // connection string
cc.CommandText = "insert into tblRegister (Name, Email, Pwd) values (@name, @email, @pwd); select @result = @@identity";
cc.AddWithValue("@name", name);
cc.AddWithValue("@email", email);
cc.AddWithValue("@pwd", pwd);
cc.Parameters.Add("@result", SqlDbType.Int);
cc.Parameters["@result"].Direction = ParameterDirection.Output;
cc.ExecuteNonQuery();

// returs identity key
int id = (int)cc.Parameters["@result"].Value;
然后可以从函数返回此id,但必须修改其原型:

public int connectDB(String name, String email, String pwd) // changed void to int
{
    // ...
    return id;
}
然后,您可以简单地将此值放入ViewBag,或使用其他方式将其传递到视图:

            database db = new database();
            ViewBag.Id = db.connectDB(name, email, pwd);
            ViewBag.Message = email;

如果使用ViewBag,则可以在视图中使用@ViewBag.Id访问它

use First Acreality从connectDB函数返回受ExecuteOnQuery影响的行数。当前函数不返回anythingdone,String returnValue=db.connectDBname,email,pwd,conStr;您的代码具有SQL injectiongreat,但如何执行此部分catchexception{//code}如何将捕获到的异常返回到视图中,因为它不适用于控制器中的response.Writery和catch exception。在异常情况下,只需返回另一个视图,如ReturnViewError;
public int connectDB(String name, String email, String pwd) // changed void to int
{
    // ...
    return id;
}
            database db = new database();
            ViewBag.Id = db.connectDB(name, email, pwd);
            ViewBag.Message = email;