【发布时间】:2026-01-09 09:10:01
【问题描述】:
我正在尝试在我的模型对象中更新用户
public ActionResult AddJob(JobQueue job,HttpPostedFileBase file)
{
job.User = "itdev";
TryUpdateModel(job)
if (ModelState.IsValid)//Always returns false
{
}
}
型号
public class JobQueue {
[Required]
[Display(Name="JobId")]
public string JobId { get; set; }
[Required] [Display(Name = "FileName")]
public string FileName { get; set; }
[Required]
[Display(Name = "Job Run Date")]
public DateTime JobRunDate { get; set; }
[Required]
[Display(Name = "Email")]
public string Mail { get; set; }
[Required]
[Display(Name = "User")]
public string User { get; set; }
我在分配值后尝试使用 TryUpdateModel(job) 和 UpdateModel(job)。这两个似乎都没有更新模型,因为 ModelState.IsValid 返回 false。有人可以指出正确的方向吗?我正在使用 MVC3
谢谢,
萨布
【问题讨论】:
-
User的类型是字符串吗?如果不是,则分配的字符串将无效。 . .你能告诉我们你的用户类吗? -
是的,用户是 JobQueue 类中的一个字符串。这个想法是使用 User.Identity.Name 从控制器分配用户,但我目前正在对其进行硬编码以进行测试。
-
下一步似乎是尝试 Gaz Winter 下面的建议并删除
TryUpdateModel(job),因为在这种情况下,它似乎没有必要。如果 ModelState.IsValid 说它无效,那么我们需要进一步调查。
标签: asp.net-mvc-3 c#-4.0 asp.net-mvc-controller