Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Asp.net 绑定到对象本身,而不是其中之一';s属性_Asp.net_Data Binding - Fatal编程技术网

Asp.net 绑定到对象本身,而不是其中之一';s属性

Asp.net 绑定到对象本身,而不是其中之一';s属性,asp.net,data-binding,Asp.net,Data Binding,使用Asp.net的Bind()方法,如何绑定到对象本身,而不是对象的某个属性?我不确定您到底要绑定什么。目前对我来说唯一有意义的事情就是绑定到一些UI控件,比如说下拉控件 通常有一些文本属性用于显示的值,而实际值的值属性用作标识符。在下拉列表中 数据文本字段 数据值字段 如果您有一个具有属性“Firstname”和“Id”的对象,您可以在这里指定DataTextField=“Firstname”和DataValueField=“Id” 在列表中,您可以直接在ASPX代码上使用Eval功能,

使用Asp.net的Bind()方法,如何绑定到对象本身,而不是对象的某个属性?

我不确定您到底要绑定什么。目前对我来说唯一有意义的事情就是绑定到一些UI控件,比如说下拉控件

通常有一些文本属性用于显示的值,而实际值的值属性用作标识符。在下拉列表中

  • 数据文本字段
  • 数据值字段
如果您有一个具有属性“Firstname”和“Id”的对象,您可以在这里指定
DataTextField=“Firstname”和
DataValueField=“Id”

在列表中,您可以直接在ASPX代码上使用
Eval
功能,或者在列表模板中添加服务器端控件(即文字、标签),并实现
ItemDataBound
事件(以中继器为例)。一个很好的例子进一步说明了这一点


希望我能帮点忙;)

我想Ryan在这里的意思是,如果你必须对这样一个物体

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
如果将
Person
对象绑定到GridView中的任何位置,或者将Repeater绑定到任何数据源,则只绑定Person,并且它从其属性之一获得默认绑定值。 支持我们有一个来自
Person
类型的变量
Ryan
,因此我想通过调用
而不是
获取变量值

我试图为类设置DefaultBindingProperty属性,但它不起作用

[System.ComponentModel.DefaultBindingProperty("FirstName")]
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

那么,有人知道如何正确地执行吗?

我通过添加一个名为SelfReference的属性来解决这个问题,该属性只返回
this
。如果有人读到这篇文章并有更好的解决方案,我很想听听。

我不知怎么想出了一个办法。实际上它是在“

请注意,尽管我们强调了要使用的值的路径是绑定的四个必要组件之一,但在要绑定到整个对象的场景中,要使用的值将与绑定源对象相同。在这些情况下,不指定路径是适用的。考虑下面的例子:

XAML
复制

您可以改用Container.DataItem:
Item=''

请更清楚地指定您想要绑定的内容。到列表控件…?我正在绑定到FromView控件中的对象。在FormView中,我有一个UserControl,它定义了一个绑定类型的属性。例如,假设一个名为Name的类定义了两个属性,FirstName和LastName。Name类的实例绑定到FormView。我不想通过调用Bind(“FirstName”)和Bind(“LastName”)将FirstName或LastName传递给我的UserControl,我想将Name实例本身传递给我的UserControl.Yep。我想绑定对象,而不是它的一个属性。
ListBox ItemsSource="{**Binding**}" IsSynchronizedWithCurrentItem="true"/>