format currency in a repeater

Posted on 2007-12-02
Last Modified: 2013-11-07
In ASP.NET 2.0 with C# I have a repeater that is bounded to a datatanle.
I have there  inside a <td> the following field:
 <%# Eval("MinPrice")%>
If I write it like this:  <%# Eval("MinPrice", "{0:C}")%>  it does not show the currency sign
so I want to prepare it in the code behind in the repeater ItemDataBound event.
If I do there:
string AmountStr1 = String.Format("{0:C}", decimal.Parse(tempAmount));
I get the appropriate value. but in the databound event of the repeater I know how to deal with values from controls like button, hyperlink, hiddenfiels. but what do I do with value that is a field in the repeater but has no control?
How do I work on it and return it to the repeater?
Question by:ANAT2403
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 12

Expert Comment

by:Mortaza Doulaty
ID: 20391607
You can use:

<%#String.Format("{0:C}", Eval("[Amount_mny]"))%>

Open in new window

LVL 14

Expert Comment

by:Dustin Hopkins
ID: 20391671
Since you want to do this in the code behind, instead of using the event create a function and send the eval to it.
Front End

<asp:Label ID="Label1" runat="server" Text='<%# formatcurrency(Eval("MinPrice")) %>' ></asp:Label>

Code behind:
public object formatcurrency(double amount)
    return amount.ToString("c");

Expert Comment

ID: 20394313
<%# Eval("MinPrice", "{0:C}")%>   should work fine,  just add HtmlEncode="false" to your datagrid, repeater or whatever control you have...
Give Your Engineering Team a Productivity Boost

Learn why container technology is so powerful and how it can provide your team with productivity gains and other benefits.


Accepted Solution

ANAT2403 earned 0 total points
ID: 20396024
In the repeater I did not find an option of HtmlEncode="false"  but I manage to solve the problem in the
code behind like this:
            Label lblMax = (Label)e.Item.FindControl("lblMaxPrice");
            string maxpStr = String.Format("{0:C}", decimal.Parse(lblMax.Text));
            lblMax.Text = maxpStr.ToString();
LVL 12

Expert Comment

by:Mortaza Doulaty
ID: 20397703
This would certainly solve your problem:

<%#string.Format("{0:C}", Eval("[Amount_mny]"))%>

Open in new window


Author Comment

ID: 20401484
Sorry but still only the dealing in code behind work.

Expert Comment

ID: 20572467
Closed, 500 points refunded.
Community Support Moderator

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question