开发者

Why does databound property of ASP.NET usercontrol work only without quotes?

I have a custom ASP.NET user control implemented fully in code-behind. The control has one string property and its declarative markup looks like this:

<uc:MyControl 开发者_运维百科ImageUrl="/Content/images/" runat="server" />

Most likely the actual declaration will use data binding syntax like this:

<uc:MyControl ImageUrl="<%# PageInfo.ImageUrl %>" runat="server" />

Now here's the odd part pertaining to my question. If I use the above syntax, the data binding does not work and the value of ImageUrl at run-time is the string literal of whatever is between quotes. However, if I remove the double quotes, it works as expected:

<uc:MyControl ImageUrl=<%# PageInfo.ImageUrl %> runat="server" />

The same behavior occurs with both double and single quotes. I am puzzled by this and although the code is working it's really not optimal as putting values in quotes is the norm and the approach to make the data binding work is decidedly unorthodox.

Anyone have any ideas on why this only works without quotes?


I found the problem...it was something to do with the file (probably encoding, but not sure). On a whim, I copied the code to a new file and deleted the original. Now the data binding works with the quotes as it should.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜