![](/img/trans.png)
[英]How textbox values are available in controller action method without model binding?
[英]How can i validate a model without binding it with the action method?
我正在使用操作方法更新數據庫值,但我使用 ajax 調用將更新的值發送到該方法中,因此我沒有將模型與此方法綁定,因此如何驗證此操作方法的模型,例如我未將其與我的方法?
public ActionResult Update(int id, double? value)
{
if (!ModelState.IsValid)
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json("Not valid model");
}
if (ModelState.IsValid) {
var oldTag = db.Tags.Where(x => x.Id == id).FirstOrDefault();
List<UpdatedData> updatedDatas = new List<UpdatedData> {
new UpdatedData
{
Id=id,
OldTagValue=oldTag.TagValue,
NewTagValue=value,
TagName = oldTag.TagName
}
};
obj.updatedDatas = new List<UpdatedData>();
obj.updatedDatas.AddRange(updatedDatas);
return PartialView("_Update_Confirmation", obj);
}
return View("Index");
}
您可以更改Update
方法
public class ProfileViewModel
{
[Required]
public int Id { get; set; }
public double? value { get; set; }
}
然后
public ActionResult Update(ProfileViewModel viewModel)
{
if (!ModelState.IsValid)
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json("Not valid model");
}
//...
}
示例DataAnnotations模型綁定器將使用從模型上的DataAnnotations屬性獲取的驗證錯誤填充模型狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.