Trouble setting label text property with Eval - asp.net

Does any of you know why this is not possible?
<asp:Label ID="lblWordSes" Font-Bold="True" EnableViewState="True" ViewStateMode="Enabled" runat="server" Text="<%# string.Format(Eval("Word1").ToString()) %>"></asp:Label>
i am trying to set the text value with data from the database but i can get this to work.

In the Text attribute you need to do like that:
Text="<%# string.Format("{0}",Eval("Word1").ToString()) %>">

Related

Servertag format wrong

I'm using a gridview where I try to set the visibility for 2 buttons and a label and also the text of the label via commands in the aspx file itself.
Now I've run into the problem that regardless if I use <%# or <%= or <% I always get "servertag format wrong".
Code:
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate>
<asp:Button runat="server" text="Freigeben" Visible="<%#!IsEnvelopeCleared((String)Eval("Status")) %>"/>
<asp:Button runat="server" text="Ablehnen" Visible="<%#!IsEnvelopeCleared((String)Eval("Status")) %>"/>
<asp:Label runat="server" text="<%# Bind("Status") %>" Visible="<%# IsEnvelopeCleared((String)Eval("Status")) %>"/>
The error appears on the first <%# already (I also tried removing the ! to no avail).
Overall double quote is the problem.
You have to use single quote. Following is one of the line from your code.
<asp:Button runat="server" text="Freigeben" Visible='<%#!IsEnvelopeCleared((String)Eval("Status")) %>'/>

How to add child object to textbox in asp.net?

I want to add child object to a TextBox, but this code gives an error
How can I achieve this?
<asp:TextBox ID="TextBox2" runat="server">
<asp:Label runat="server" Text="Label"></asp:Label>
</asp:TextBox>`
TextBox and Label are two different controls. You cant nest a Label inside a text Box.
Eg:
<asp:Label runat="server" Text="Label"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server"> </asp:TextBox>
What do you want to do here?
As there are some of the ASP.NET controls like Linkbutton which allows you to hold HTML controls inside them
<asp:LinkButton ID="lnkDelete" runat="server" CssClass="remove">
<span><font color="#fb4202">x</font> Remove</span>
</asp:LinkButton>
but it is not possible to hold a asp:Label in a asp:Textbox control
What you are trying to do is impossible. While WPF has a framework that enables this kind of things, HTML and thus ASP.NET does not.
If you are trying to set the text, try this:
<asp:TextBox ID="TextBox2" runat="server" Text="abc" />
Else, just put them side by side:
<asp:Label runat="server" Text="Label" />
<asp:TextBox ID="TextBox2" runat="server" />
Textbox is a Editable Control and Label is non-Editable Control, so you can't put Label inside TextBox. You can Put Label Just Before The Textbox as :
<asp:Label ID="Label1" runat="server" Text="Enter Text"><asp:Label>
<asp:TextBox ID="txtValue" runat="server"/>

eval and anchor tag href in a text label property ASP.Net

I have been trying to get these running looking at lots of different samples but with no luck.
To me it seems it's ok but what am I missing here?
<asp:Label ID="Label1" runat="server" Text="<%# String.Format("<a href=http://localhost/reportserver/Pages/ReportViewer.aspx?/temp&rs:Command=Render&id={0}>link</a>", Eval("ID")) %>" Width="100px" visible="true"></asp:Label>
Thanks
"With no luck" is not a descriptive error.
<%# is for databinding expression only. So have you called Page.DataBind() or at least Label1.DataBind() in codebehind?
You could also try
Text='<%= String.Format("<a href=http://localhost/reportserver/Pages/ReportViewer.aspx?/temp&rs:Command=Render&id={0}>link</a>", Eval("ID")) %>'
Apart from that, why not doing such things in codebehind only, so you don't have issues like this?
<asp:Label ID="Label1" runat="server" Text='<%# String.Format("<a href=http://localhost/reportserver/Pages/ReportViewer.aspx?/temp&rs:Command=Render&id={0}>link</a>", Eval("ID")) %>' Width="100px" visible="true"></asp:Label>
you shouldn't use Text="something". you should use Text='something'

DataBinding: 'System.Data.DataRowView' does not contain a property with the name

I'm adding data using footer template and I have button to add. So when I try to add
error 'System.Data.DataRowView' does not contain a property with the name '
It shows error in this line:
<asp:TemplateField ItemStyle-Width = "30px" HeaderText ="Name">
<FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblMembershipName" runat="server" width ="150px"
Text='<%# Eval"MembershipName")%>'> </asp:Label**>
</ItemTemplate>
</FooterTemplate>
</asp:TemplateField>
You should change: Text='<%# Eval"MembershipName")%>' to Text='<%# Eval("MembershipName")%>'
You where missing the opening ( of the Eval function.
The problem looks to be in your binding statement assuming your code is as you posted and not a copy typo:
<asp:Label ID="lblMembershipName" runat="server" width ="150px"
Text='<%# Eval"MembershipName")%>'> </asp:Label**>
Your missing a bracket as it should be:
<asp:Label ID="lblMembershipName" runat="server" Width="150px"
Text='<%# Eval("MembershipName") %>' />
Also verify that what you are binding to has a field called MembershipName.
You've ommited a (, it should be:
Eval("MembershipName") instead of Eval"MembershipName").
And instead of </asp:Label**> you should write </asp:Label>.
Sounds like you are trying to databind data in the footer - ensure you have nothing that looks like this in the footer section - posting the code would help loads.
text = '<%#....
Ross

Dynamic textbox text - asp.net

I'm trying to separate my presentation and logic as much as I can, but there's one problem.
How can i set the text-property to a dynamic value from my design file? I want to do like this:
<asp:Textbox id="txtUrl" runat="server" Text="<%= user.URL %>" />
But this will fail. Am i forced to do this from code behind?
<asp:Textbox id="txtUrl" runat="server" Text="<%# user.URL %>" />
It's all about the #. but it won't get set till txtUrl.DataBind() or something higher in the object heirarchy (like the Page) calls DataBind().
How about this :
<input type="text"
id="txtUrl" name="txtUrl" runat="server"
value='<%= user.URL %>' />
You can use binding instead of evaluation.
This code binds a text box's Text property to a user's Url property returned by MyData.GetLoggedInUser(). This allows for 2-way binding.
<asp:FormView ID="UserView" runat="server" DataSourceID="LoggedInUser">
<ItemTemplate>
<asp:TextBox ID="tb"
runat="server"
Text='<%# Bind("Url") %>'></asp:TextBox>
</ItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="LoggedInUser"
runat="server"
SelectMethod="GetLoggedInUser"
TypeName="MyData">
</asp:ObjectDataSource>

Resources