Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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#_Asp.net Mvc 4 - Fatal编程技术网

C# 创建令牌以填充表单

C# 创建令牌以填充表单,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我有一个表格来注册求职者,但是填写表格的用户没有用户来验证他是否是有效用户 该表单有一个参数,指示申请人正在寻找的工作 //This is the controller action public ActionResult RegisterApplicant(int job_id) { var formModel = new FormModel(){ job_id = job_id }; return View(formModel); }

我有一个表格来注册求职者,但是填写表格的用户没有用户来验证他是否是有效用户

该表单有一个参数,指示申请人正在寻找的工作

 //This is the controller action
 public ActionResult RegisterApplicant(int job_id)
 {
     var formModel = new FormModel(){
       job_id = job_id
     };
     return View(formModel);
 }

 ///This is the view
@model Jobs.Models.FormModel

 <div class="container">
 @using(Html.BeginForm("RegisterApplicant")){
    @Html.HiddenFor(model=>model.job_id)

   //Other Fields Here
   <input type="submit" value="Save">
 }
 </div>
//这是控制器操作
公共操作结果注册表应用程序(int作业\u id)
{
var formModel=new formModel(){
作业id=作业id
};
返回视图(formModel);
}
///这就是观点
@模型作业
@使用(Html.BeginForm(“RegisterApplication”)){
@Html.HiddenFor(model=>model.job\u id)
//这里还有其他领域
}
有没有办法生成URL加上包含作业ID的令牌 调用RegisterApplication方法,允许未经身份验证的用户填写 表格

我希望避免在访问该方法的URL中显式显示作业id

我将使用该URL通过电子邮件将其发送给求职者。
谢谢。

您可以为每个作业生成Guid并与作业id关联

var job = new Job()
{
   job_id = <id>,
   token = Guid.NewGuid().ToString();
}

JobService.SaveJob(job);

**JobService只是一个假想的服务,因为我不知道您真正的代码是如何实现的。

您想通过URL发送它,但不想在URL中显示它?使用加密?为什么您不能将
作业Id
放入url,并使用正常的身份验证路径在登录后将用户传回?
作业Id
有什么秘密?谢谢,我不知道Guid方法是一种很好的方法!
public ActionResult RegisterApplicant(string jobToken)
{
     var job = JobService.GetJobByToken(jobToken);

     var formModel = new FormModel(){
       job_id = job.job_id
     };

     return View(formModel);
}