数据绑定:'System.String'不包含名称为'link'的属性. [英] DataBinding: 'System.String' does not contain a property with the name 'link'.
问题描述
< asp:GridView ID ="grd" runat ="server" OnSelectedIndexChanged ="grd_SelectedIndexChanged">
<列> < asp:TemplateField>
< itemtemplate>
< asp:HyperLink ID ="HyperLink2" runat =服务器" Target ="_ blank" NavigateUrl =''<%#Eval("link")%>''>
< link>〜/Default3.aspx</link>
< text> asdfoYYY
< date> 2011/1/1
< dataset>
< link>〜/Upload/DSC_0052.JPG</link>
< text> checkit
< date> 2011/1/1
< dataset>
< link>〜\ Upload \ id.txt</link>
< text>如果...
< date> 2011/1/1
< dataset>
< link>〜\ Upload \ id.txt</link>
< text>这是asj asjfj
< date> 2011/1/1
< dataset>
< link>〜\ Upload \ id.txt</link>
< text> 1212是asj asjfj
< date> 2012/12/12
< dataset>
< link>〜\ Upload \ Landlordreferenceletter1.docx.doc</link>
< text> lanlord
{
如果(!Page.IsPostBack)
{
binddata();
}
}
void binddata()
{
XDocument xmlDoc = XDocument.Load(Server.MapPath("File.xml"));
DateTime日期=新的DateTime(2012,12,12);
var queryWeek =来自xmlDoc.Descendants("dataset")中的数据集
选择数据集.Element(链接").Value;
grd.DataSource = queryWeek;
grd.DataBind();
}
ERROR =>>>>> DataBinding:``System.String''不包含名称为``link''的属性.
告诉我原因
<asp:GridView ID="grd" runat="server" OnSelectedIndexChanged="grd_SelectedIndexChanged">
<columns> <asp:TemplateField>
<itemtemplate>
<asp:HyperLink ID="HyperLink2" runat="server" Target="_blank" NavigateUrl=''<%#Eval("link") %>''>
<link>~/Default3.aspx</link>
<text>asdfoYYY
<date>2011/1/1
<dataset>
<link>~/Upload/DSC_0052.JPG</link>
<text>checkit
<date>2011/1/1
<dataset>
<link>~\Upload\id.txt</link>
<text>this if
<date>2011/1/1
<dataset>
<link>~\Upload\id.txt</link>
<text>this is asj asjfj
<date>2011/1/1
<dataset>
<link>~\Upload\id.txt</link>
<text>1212 is asj asjfj
<date>2012/12/12
<dataset>
<link>~\Upload\Landlordreferenceletter1.docx.doc</link>
<text>lanlord
{
if (!Page.IsPostBack)
{
binddata();
}
}
void binddata()
{
XDocument xmlDoc = XDocument.Load(Server.MapPath("File.xml"));
DateTime date = new DateTime(2012,12,12);
var queryWeek = from dataset in xmlDoc.Descendants("dataset")
select dataset.Element("link").Value;
grd.DataSource = queryWeek;
grd.DataBind();
}
ERROR=>>>>DataBinding: ''System.String'' does not contain a property with the name ''link''.
TELL ME Reason
推荐答案
您是否尝试过以下操作:
Hi,
Did you tried the following:
<asp:HyperLink ID="HyperLink2" runat="server" Target="_blank" NavigateUrl='<%# Container.DataItem %>'>
那是因为您将IEnumerable<string></string>
绑定到了DataSource,所以只有字符串(而不是任何其他类型的对象).
因此,使用Eval()
的绑定不起作用(因为您不想访问字符串的属性,而是字符串本身).
希望这会有所帮助.
致以诚挚的问候,祝您编程愉快,
克里斯
That is beacuse you bind a IEnumerable<string></string>
to your DataSource, so you have just strings (and not any other kind of object).
Therefor the binding using Eval()
does not work (beacuse you do not want to access a property of string but the string itself).
Hope this helps.
Best regards and happy coding,
Chris
这篇关于数据绑定:'System.String'不包含名称为'link'的属性.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!