【发布时间】:2019-07-02 21:32:16
【问题描述】:
我试图将查询字符串参数传递给控制器中的 JsonResult 操作。我不断收到以下错误:
值不能为空。 参数名称:字符串
我需要来自这个 url 的 task_id:
TaskIn?task_id=33
在我看来,我已经尝试过(失败并出现同样的错误):
@model TaskingSystem.Models.AcceptTasksViewModel
@{string task_id = @Request.QueryString["task_id"];}
@Html.HiddenFor(m => m.task_id)
在控制器中:
public JsonResult TasksExist(string email, string task_id)
{
int tasks_id = int.Parse("task_id");
return Json(db.Tasks_Validate.Any(e => e.Email == email && e.task_id == tasks_id), JsonRequestBehavior.AllowGet);
}
我的模特:
public class AcceptTasksViewModel{
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email:")]
//Using Remote validation attribute
[Remote("TasksExist", "Task_Results", ErrorMessage = "Email does not exists in database. Please try a different email address.")]
public string email { get; set; }
public int task_id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我也尝试过使用它直接进入动作,但它仍然失败。
int tasks_id = int.Parse(Request.Params["task_id"]);
【问题讨论】:
-
为什么不把类型改成
int这里:public JsonResult TasksExist(string email, string task_id)
标签: asp.net-mvc