C# 在服务器端验证表单
我在asp.NET4.0中工作 有没有办法在服务器端检查,如果我们离开页面并将控件重定向到另一个页面,然后检查当前表单,是否有任何字段被修改?如果是,则首先保存该记录,然后重定向到新页面。C# 在服务器端验证表单,c#,asp.net,code-behind,C#,Asp.net,Code Behind,我在asp.NET4.0中工作 有没有办法在服务器端检查,如果我们离开页面并将控件重定向到另一个页面,然后检查当前表单,是否有任何字段被修改?如果是,则首先保存该记录,然后重定向到新页面。 有没有办法在服务器端检查这个问题?(代码隐藏文件)啊,我明白了。作为一个示例,让我们假设您有一个用户类,您将使用它来显示有问题的页面表单 public class User { public int Id { get; set; } public string User
有没有办法在服务器端检查这个问题?(代码隐藏文件)啊,我明白了。作为一个示例,让我们假设您有一个用户类,您将使用它来显示有问题的页面表单
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Address { get; set; }
}
在页面加载事件中,使用相关值加载此对象,它们使用加载的对象显示页面表单。让我们将此对象称为“LoadedUser”
在用户单击重定向链接后,您需要处理该事件(我知道您正在这样做),在该事件中,使用页面表单上的当前值创建一个新的用户对象,然后让我们调用该对象“NewLoadedUser”,现在我们将使用IEquatable接口比较LoadedUser和NewLoadedUser对象
因此,继续并将其添加到用户类中
public class User: IEquatable<User>
{
public int Id { get; set; }
public string Username { get; set; }
public string Address { get; set; }
public override int GetHashCode()
{
return Id ^ Id.GetHashCode(); // or whatever
}
public override bool Equals(object other)
{
return this.Equals(other as User);
}
public bool Equals(User other)
{
return (other != null &&
other.Id == this.Id &&
other.Username == this.Username &&
other.Address == this.Address );
}
}
然后您可以使用areEqual bool标志来更新记录或不更新记录
希望这对我有所帮助。作为一个示例,让我们假设您有一个用户类,您将使用它来显示有问题的页面表单
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Address { get; set; }
}
在页面加载事件中,使用相关值加载此对象,它们使用加载的对象显示页面表单。让我们将此对象称为“LoadedUser”
在用户单击重定向链接后,您需要处理该事件(我知道您正在这样做),在该事件中,使用页面表单上的当前值创建一个新的用户对象,然后让我们调用该对象“NewLoadedUser”,现在我们将使用IEquatable接口比较LoadedUser和NewLoadedUser对象
因此,继续并将其添加到用户类中
public class User: IEquatable<User>
{
public int Id { get; set; }
public string Username { get; set; }
public string Address { get; set; }
public override int GetHashCode()
{
return Id ^ Id.GetHashCode(); // or whatever
}
public override bool Equals(object other)
{
return this.Equals(other as User);
}
public bool Equals(User other)
{
return (other != null &&
other.Id == this.Id &&
other.Username == this.Username &&
other.Address == this.Address );
}
}
然后您可以使用areEqual bool标志来更新记录或不更新记录
希望这有助于如果我没有正确理解您的问题,请道歉。但你肯定有某种链接或按钮触发重定向?你们不能在服务器端触发一个事件,在那个里你们可以进行相关的验证,然后适当地保存记录吗?我不知道如何检查表单上是否有更改。我得查一下零钱。我已处理事件。如果我没有正确理解您的问题,请道歉。但你肯定有某种链接或按钮触发重定向?你们不能在服务器端触发一个事件,在那个里你们可以进行相关的验证,然后适当地保存记录吗?我不知道如何检查表单上是否有更改。我得查一下零钱。我已经处理好了。好的,我很快就会试试这个。。非常感谢:)好的,我马上就来试试。。非常感谢:)