我有采访和Interwier
当我创建采访时,我需要在View中生成链接并将其发送给interwier。
因此,如果Interview_id为=5
,面试官将接受面试时的访问id = 5
表格Intervier与面试表
相关联这是Interviewer表
CREATE TABLE [dbo].[Interwiers] (
[Interwier_id] INT IDENTITY (1, 1) NOT NULL,
[FIO] NVARCHAR (MAX) NULL,
[Email] NVARCHAR (MAX) NULL,
[Telephone] NVARCHAR (MAX) NULL,
[Birthday] DATETIME NOT NULL,
[City] NVARCHAR (MAX) NULL,
[Salary] NVARCHAR (MAX) NULL,
[English] NVARCHAR (MAX) NULL,
[Interview_Id] INT NULL,
[Status] NVARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([Interwier_id] ASC),
CONSTRAINT [FK_Interwiers_ToTable] FOREIGN KEY ([Interview_Id]) REFERENCES [dbo].[Interviews] ([Interview_Id]) ON DELETE CASCADE
现在我生成了像http://localhost:51542/Interwier/Welcome
这样的链接,我需要这样的'http://localhost:51542/Interwier/Welcome/5',所以如果在Interview_Id
中表格中的Interwier填充数据会自动为id = 5。< / p>
我怎么能意识到这一点?
也许我没有清楚地写下我的问题。如果不是,请告诉我不清楚,我会编辑它
更新
这是Interwier的控制器,这里我将数据写入表
public ActionResult Welcome()
{
return View();
}
// POST: Interwier/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Welcome([Bind(Include = "Id,FIO,Email,Telephone,Birthday,City,English,Salary")] Interwier interwierModel)
{
if (ModelState.IsValid)
{
db.InterwierModels.Add(interwierModel);
db.SaveChanges();
return RedirectToAction("WebCamCheck");
}
return View(interwierModel);
}
UPDATE2
我尝试写逻辑
这是开始屏幕,这里我创建了面试(选择空缺并写了关于面试的详细信息),所以我创建了Interwiev id。已经完成了。
之后我创建问题并将它们添加到面试中,然后我点击下一步并添加到表格并链接到Interview_id的问题
这是模型
之后,我需要向人们发送邀请。有下一个模型
在链接中,我需要生成面试链接,而不是像我之前写的那样。
我需要用id生成它。然后,用户打开它并填写有关他的信息,它将链接到此面试ID。
答案 0 :(得分:0)
默认路由值设置为{controller} / {action} / {id}。 生成链接时,您可以使用routeValues来设置ID。 例如。如果链接是从控制器动作生成的,那么
public ActionResult MyAction()
{
//code
Return RedirectToAction("Welcome", "Interview", new{InterviewId = Interview.InterviewId});
}
这将导致URL localhost:[portNumber] / Interview / Welcome / InterviewId
答案 1 :(得分:0)
如果您正在使用Entity框架来保存数据,那么就这样做了
假设Interwiers tabel只有2列Like Id和name =
DemoEntities db = new DemoEntities();
Interwiers objInterwiers = new Interwiers();
objInterwiers.Email = "aman@gmail.com";
db.Interwiers.Add(objInterwiers);
db.SaveChanges();
现在,如果在表格中设置自动增量,则无需在此处输入id字段。
保存数据后,您可以获得如下信息:
var id = objInterwiers.Id;
最近添加了。
你想要重定向
return Redirect("/Interwier/Welcome/"+id);
控制器中的整个代码如下:
public ActionResult TestSaveData()
{
DemoEntities db = new DemoEntities(); // your entity name
Interwiers objInterwiers = new Interwiers(); //table name
objInterwiers.Email = aman@gmail.com;
db.Interwiers.Add(objInterwiers);
db.SaveChanges();
return RedirectToAction("/Interwier/Welcome/"+id);
}