日期:2014-05-17  浏览次数:20503 次

前台绑定后台方法
前台页面
 <asp:Repeater runat="server" ID="rpCaiLiao">
                            <ItemTemplate>
                                <tr  style=" border:0px" class="tbHang">
                                     <td>
                                         <%#Eval("Num")%> 
                                    </td>
.........
 

后台页面 方法:
  public decimal Round(object a)
        {
            decimal b = Convert.ToDecimal(a);
           decimal c= Math.Round(b, 2);
            return c;
        }



前台绑定后台方法
 <%#Round(Eval("Num"))%> 

这样为什么报错:当前上下文中不存在名称Round,之前这样是可以的,就运行之后页面不显示值。 哪里写错了吗?

------解决方案--------------------
你直接这样呗,干嘛还写个方法啊?
 <%#Math.Round(Convert.ToDecimal(Eval("Num")), 2)%> 
------解决方案--------------------
decimal b = Convert.ToDecimal(a);
object不能与 decimal强转。
decimal b = Convert.ToDecimal(a.ToString());
------解决方案--------------------
<%#Convert.ToDecimal(Eval("Num")).ToString("#0.00")%>  
------解决方案--------------------
不好意思。6楼说错了
	protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
 DataTable table = new DataTable();
table.Columns.Add("Dosage", typeof(decimal));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
 
table.Rows.Add(25.343,