C# 当属性发生变化时观察
我正在创建一个web应用程序 我有一个类,它有一个属性:C# 当属性发生变化时观察,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我正在创建一个web应用程序 我有一个类,它有一个属性: public class DependencyHelper: INotifyPropertyChanged { private string _myString; public virtual string MyString { get { return _myString; } set { _myString = value;
public class DependencyHelper: INotifyPropertyChanged
{
private string _myString;
public virtual string MyString
{
get { return _myString; }
set
{
_myString = value;
OnPropertyChanged("MyString");
}
}
我想在我的主页homepage.aspx.cs上有一个类似事件的东西,一旦类的属性发生变化,它就会做一些事情。i、 e将获取MyString的值并在警报中显示它
有人能帮我吗?我想不出怎么做
谢谢你因为它是一个网页,你必须向客户端发送JS以显示消息框。我会这样做:
private void OnPropertyChanged(string propertyName)
{
ScriptManager.RegisterClientScript(typeof(Page), "AlertScript" + System.Guid.NewGuid().ToString(), string.Format("alert('Property {0} has changed');"));
}
整个NewGuid混乱使得脚本名称是唯一的,如果您更改了多个属性,您将得到多个框。我不知道您是否希望在Web解决方案中使用双向绑定,这是绝对不可能的,或者使用comet方法是可能的http://en.wikipedia.org/wiki/Comet_programming. 也许您希望在回发或回调后执行此操作,这可能只是从控件或页面向PropertyChanged事件添加一个事件handler,然后添加一些脚本块或引用块以显示具有更改值的警报 检查如何创建ScriptControl 和ASP.NET回调API:
您可以执行comet接近或单向绑定,因此,在第二种情况下,即建议和推荐的情况下,在用户交互之后,使用对服务器的回调,检查是否有更改,然后返回客户端,提醒此更改 这类似于。我建议您使用ObservableCollection或AsyncBindingList。不确定这是否是我想要的。我想要一个类似于监听器助手的东西,它可以从主页上收听,看看是否有变化。我知道这是可能的,只是我不太明白而已!。但是你打算怎么办?处理该事件后,是否要在不回发的情况下更改页面中的某些内容?我的问题是,我正在动态创建一个下拉列表,其中包含问题和可能的答案。我已经在一个表中动态地向属性添加了一个post,此时该表将获得问题的结果,并将其放入MyResultClass类中的属性中。我想做的是,当homePage.aspx上某个方法的MyResultClass中的属性更改为激发时,这将根据给出的答案重建表的其余部分。-希望这能让老师在这个周末试着回答你,我是@work,这家公司不认为StackOverflow是一个好的做法:我需要帮助的是知道什么时候房产发生了变化。我想这有点像我需要帮助的侦听器事件可观察模式。啊…看看这个非常类似的问题的答案:另请参见