我一直在搜索如何做到这一点 这里和那里有很多关于如何做的帖子 但是我找不到办法做我想要的事情
我在TemplateField中有这个文本框:(我不能使用BoundField)
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("myDate", "{0:d/M/yyyy}") %>'>
这很好,但在我的网站上,我可以从英语(我们)到西班牙语(mx)来回转换,所以日期格式不同,也必须改变。
en-US:M / d / yyyy es-MX:d / M / yyyy
如何在回发中更改该格式?
我尝试在meta:ResourceKey中输入TEXT,但它显示'&lt;%#Bind(“myDate”,“{0:d / M / yyyy}”)%&gt;'而不是日期
我还尝试使用以下方法从代码隐藏中更改它:Text ='&lt;%#GetDate(Container.DataItem)%&gt;'
public string GetDate(object dataItem)
{
DateTime dt;
DataRowView _row = (DataRowView)dataItem;
string fecha = _row["myDate"].ToString();
if (culture == "es-MX")
dt = DateTime.ParseExact(fecha, @"d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture);
else if(culture == "en-US")
dt = DateTime.ParseExact(fecha, @"M/d/yyyy", System.Globalization.CultureInfo.InvariantCulture);
return dt.ToShortDateString();
}
它可以解决问题,但是当我尝试更新或插入时,我得到一个空值错误:/ 我使用visual studio 2012 .net 4.5和c#
感谢您的帮助
rubenc
答案 0 :(得分:0)
事实证明这是一种做法
空错误来自另一个值:)
非常感谢