C# mvc[远程]标签参考独立项目控制器
首先我想我知道我的问题,但我不知道如何解决它。 我的任务是清理应用程序的验证部分。 我们在单独的项目中有实体模型和MVC应用程序,一个称为“core”,另一个称为“webapp” 我似乎无法启动我的[远程]验证。我已经做了我的研究,但我相信这是因为,我试图在我的单独项目中引用一个控制器 我的核心项目中的简化模型类似于C# mvc[远程]标签参考独立项目控制器,c#,asp.net-mvc,validation,entity-framework-6,C#,Asp.net Mvc,Validation,Entity Framework 6,首先我想我知道我的问题,但我不知道如何解决它。 我的任务是清理应用程序的验证部分。 我们在单独的项目中有实体模型和MVC应用程序,一个称为“core”,另一个称为“webapp” 我似乎无法启动我的[远程]验证。我已经做了我的研究,但我相信这是因为,我试图在我的单独项目中引用一个控制器 我的核心项目中的简化模型类似于 namespace Project.Core.Models { [Table(name: "MT_DATABASE_SERVERS")] public class
namespace Project.Core.Models
{
[Table(name: "MT_DATABASE_SERVERS")]
public class DatabaseServer : ModelBase
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(500)]
[Display(Name = "Database Server")]
[Remote("IsPropertyExists","DatabaseServers", HttpMethod = "POST",ErrorMessage = "This Server is already in use.")]
public string ServerName { get; set; }
}
}
这里是一个简化的控制器逻辑
namespace Project.WebApp.Controllers.Servers
{
public class DatabaseServersController : ControllerBase
{
[HttpPost]
public ActionResult Create(DatabaseServer databaseServer
{
using (var db = GetMTContext())
{
db.DatabaseServers.Add(databaseServer);
db.SaveChanges();
return RedirectToAction("List");
}
}
[HttpPost]
public ActionResult IsPropertyExists(string property)
{
using (var db = GetMTContext())
{
return Json(!db.DatabaseServers.Any(x => x.ServerName == property), JsonRequestBehavior.AllowGet);
}
}
}
}
您需要指定
AdditionalFields=“property”
然后您的代码如下
[Remote("IsPropertyExists","DatabaseServers", AdditionalFields = "property", HttpMethod = "POST",ErrorMessage = "This Server is already in use.")]
public string ServerName { get; set;a }
但条件是您需要在模型或实体中添加或存在其他字段
属性
。在浏览器的开发者工具中,您是否看到浏览器发送的XHR请求?如果是,状态代码是什么?是,所有状态均为200。我不确定我特别想要什么。我看到xmlHttpRequests。在列表的顶部,我有一篇关于创建视图的帖子。然后,下一个是列表视图的GET,我假设它是用于db更新后的重定向。您的属性名称是ServerName
,因此该方法必须是public ActionResult IsPropertyExists(string ServerName)
-它们必须匹配我尝试过,但仍然没有注册任何内容:/这并没有改变任何事情。如果控制器存在于不同的项目中,如何指定正确的控制器“DatabaseServers”?我相信这是我的问题。你看不同的项目控制器意味着它在同一个解决方案?同一个解决方案。不同的项目。查看名称空间,了解解决方案的外观以获得清晰性…我的Web应用程序项目取决于我的核心项目(核心是我们的数据模型)。我无法向Webapp添加依赖项,因为Webapp已经引用了核心项目。