Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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
C# 从表值引用另一个方法中的变量_C#_Sql_Asp.net - Fatal编程技术网

C# 从表值引用另一个方法中的变量

C# 从表值引用另一个方法中的变量,c#,sql,asp.net,C#,Sql,Asp.net,我需要知道如何从另一个方法调用/使用字符串。 我想将数据从用户表传输到员工表。我已经设置了从用户表到员工表的外键Id。但在用户登录后,他们输入自己的信息,所以它会自动将Id从用户表输入到员工表 我的代码如下 public class EmpInputController : Controller { int idd; [HttpPost] public ActionResult Login(Models.Member model) { usin

我需要知道如何从另一个方法调用/使用字符串。 我想将数据从用户表传输到员工表。我已经设置了从用户表到员工表的外键Id。但在用户登录后,他们输入自己的信息,所以它会自动将Id从用户表输入到员工表

我的代码如下

public class EmpInputController : Controller
{
    int idd;

    [HttpPost]
    public ActionResult Login(Models.Member model)
    {
        using (var context = new GM_demoEntities())
        {
            bool isValid = context.User.Any(x => x.UserName == model.UserName && x.Password == 
             model.Password);
            var userr = db.User.Where(x => x.UserName == model.UserName && x.Password == 
             model.Password).FirstOrDefault();

            if (userr==null)
            {
                ModelState.AddModelError("", "Invalid username and password");
                FormsAuthentication.SetAuthCookie(model.UserName, false);
            }
            else
            {
                idd = userr.Id; **//I defined this value for moving Id to another table.**

                return RedirectToAction("Empinput", "Empinput");
            }
        }

        return View();
    }

    public ActionResult Empinput(Employee model)
    {            
        using (var context = new GM_demoEntities())
        {
            Employee Infoma = new Employee();

            Infoma.Id = idd;    **//Defined idd to Employee table.**
            context.Employee.Add(model);
            context.SaveChanges();
        }

        return RedirectToAction("Login");
    }
}
那个代码不起作用
idd
始终为0,所以在我输入Employee之后,0只能输入Employee表

您可以用

private static int idd;
否则,在调用第二个方法时将丢失idd中的值,因为在第一个方法中设置的idd中的值将丢失


无论如何,我认为您应该在第二种方法中再次获取id。如果只调用EMPIN()方法,可能会插入一个已经存在的IDD的雇员,因为IDD的值没有被第一个方法Login()更新。您需要更改标记,或者共享SQL,以便获得所需的帮助。