Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当属性发生变化时观察_C#_Asp.net_C# 4.0 - Fatal编程技术网

C# 当属性发生变化时观察

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;

我正在创建一个web应用程序

我有一个类,它有一个属性:

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是一个好的做法:我需要帮助的是知道什么时候房产发生了变化。我想这有点像我需要帮助的侦听器事件可观察模式。啊…看看这个非常类似的问题的答案:另请参见