Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可以在数据绑定服务器控件中调用PadLeft吗?_C#_.net_Data Binding - Fatal编程技术网

C# 可以在数据绑定服务器控件中调用PadLeft吗?

C# 可以在数据绑定服务器控件中调用PadLeft吗?,c#,.net,data-binding,C#,.net,Data Binding,假设我在gridview模板列中有一个标签,并将文本分配给数据绑定项“OrderID”。是否有任何方法可以调用.ToString().PadLeft(7,'0')?标签如下: <asp:Label ID="lblOrderID" runat="server" Text='<%# "WW" + DataBinder.Eval(Container.DataItem, "OrderID") %>' /> 因为PadLeft需要一个字符,所以我不能使用单引号,因为我已经用

假设我在gridview模板列中有一个标签,并将文本分配给数据绑定项“OrderID”。是否有任何方法可以调用.ToString().PadLeft(7,'0')?标签如下:

<asp:Label ID="lblOrderID" runat="server" Text='<%# "WW" +  DataBinder.Eval(Container.DataItem, "OrderID") %>' />

因为PadLeft需要一个字符,所以我不能使用单引号,因为我已经用单引号括住了值,并且由于DataBinder.Eval表达式的原因,我不能使用双引号。有没有其他方法可以让它在一行上运行?

您可以在线运行(我将把它留给其他人给您答案,因为我没有VS open来测试它)

但我会通过在codebehind中添加一个方法来返回格式化的订单id。或者更好的是,将format方法放在一个静态帮助器类中,这样它就可以用于任何需要格式化订单id的页面

例如,如果您绑定到订单集合,则类似于:

public static string GetFormattedOrderId(object dataItem)
{
    Order order = (Order) dataItem;
    return String.Format("WW{0:N7}", order.OrderId);      \
    // or return order.OrderId.ToString().PadLeft... if you prefer
}
public static string GetFormattedOrderId(object dataItem)
{
    DataRow row = (DataRow) dataItem;
    return String.Format("WW{0:N7}", row["OrderId"]);      
}
或者,如果要绑定到DataTable,则类似于:

public static string GetFormattedOrderId(object dataItem)
{
    Order order = (Order) dataItem;
    return String.Format("WW{0:N7}", order.OrderId);      \
    // or return order.OrderId.ToString().PadLeft... if you prefer
}
public static string GetFormattedOrderId(object dataItem)
{
    DataRow row = (DataRow) dataItem;
    return String.Format("WW{0:N7}", row["OrderId"]);      
}
然后,您可以在标记中的任何位置拥有格式一致的订单id:

'<%# MyFormattingHelper.GetFormattedOrderId(Container.DataItem) %>'
“”