尝试使用 DataAnnotations 在模型中提交具有自定义验证集的表单时,我收到错误消息“找不到路径'/ItemController/IsAssetAvailable' 的控制器或未实现 IController”。控制器布局:控制器代码:public ActionResult IsAssetAvailable(string Asset_Tag_Nbr) { using (db) { try { var asset = db.Items.Single(i => i.Asset_Tag_Nbr == Asset_Tag_Nbr); return Json(false, JsonRequestBehavior.AllowGet); } catch (Exception) { return Json(true, JsonRequestBehavior.AllowGet); } } }数据注释:[Display(Name = "Asset Tag #")][Remote("IsAssetAvailable", "ItemController", ErrorMessage = "Asset # already exists.")]public string Asset_Tag_Nbr { get; set; }看法:<div class="form-group col-sm-4"> @Html.LabelFor(model => model.Asset_Tag_Nbr, new { @class = "control-label col-md-12" }) <div class="col-md-10"> @Html.EditorFor(model => model.Asset_Tag_Nbr, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Asset_Tag_Nbr) </div></div>
1 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
问题似乎来自内部声明的控制器名称,RemoteAttribute如下所示:
[Remote("IsAssetAvailable", "ItemController", ErrorMessage = "Asset # already exists.")]
public string Asset_Tag_Nbr { get; set; }
您正在使用RouteAttribute 2 个重载:
public RemoteAttribute (string action, string controller)
参数是控制器名称,包含对应的controller动作方法名称,不带Controller后缀。因此,您应该使用RouteAttribute如下示例的参数:
[Display(Name = "Asset Tag #")]
[Remote("IsAssetAvailable", "Item", ErrorMessage = "Asset # already exists.")]
public string Asset_Tag_Nbr { get; set; }
- 1 回答
- 0 关注
- 206 浏览
添加回答
举报
0/150
提交
取消
