C# 从表值引用另一个方法中的变量
我需要知道如何从另一个方法调用/使用字符串。 我想将数据从用户表传输到员工表。我已经设置了从用户表到员工表的外键Id。但在用户登录后,他们输入自己的信息,所以它会自动将Id从用户表输入到员工表 我的代码如下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
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,以便获得所需的帮助。