0

私はこれを行う方法について多くのことを検索してきましたそれを行う方法についてはあちこちに多くの投稿がありますしかし、私はやりたいことをする方法を見つけることができません

TemplateField にこのテキスト ボックスがあります: (BoundField は使用できません)

<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("myDate", "{0:d/M/yyyy}") %>'>

それはうまくいきますが、私のウェブサイトでは英語(us)からスペイン語(mx)に前後に変更できるため、日付形式が異なり、同様に変更する必要があります.

en-US: M/d/yyyy es-MX: d/M/yyyy

ポストバックでその形式を変更するにはどうすればよいですか?

meta:ResourceKey に TEXT 命令を入れようとしましたが、日付の代わりに '<%# Bind("myDate", "{0:d/M/yyyy}") %>' が表示されます

また、次を使用して分離コードから変更しようとしました: Text='<%# GetDate(Container.DataItem) %>'

    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();
    }

それはトリックを行いますが、更新または挿入しようとするとnull値エラーが発生します:/ビジュアルスタジオ2012 .net 4.5およびc#を使用しています

ご協力いただきありがとうございます

ルーベンク

4

1 に答える 1

0

まあ、これはそれを行う方法であることが判明しました

nullエラーは別の値からのものでした:)

とにかくありがとう

于 2013-07-23T19:17:40.090 に答える