2017-01-05 5 views
2

は、私はSQL ServerデータベースでのDateTimeを取得し、入力して、それを表示したい:表示HTMLでのC#のDateTime日付入力

<input class="form-control" type="date" name="ExpireDate" id="expiredate" runat="server" value="31/12/2016" style="height: 30px; width: 267px">

、ここでは、私のC#のコードです:

Medicine med = new Medicine(); 
int a = GridView1.SelectedIndex; 
med.ID = int.Parse(GridView1.DataKeys[a].Value.ToString()); 
DataProcess bal = new DataProcess(); DataTable dt = bal.getInfo(med) 
expiredate.Value = Convert.ToDateTime(dt.Rows[0][5]).ToString("dd/MM/yyyy"); 

最後の行の直後にブレークポイントを置くと、dt.Rows[0][5]に「{2017/5/31 0:00:00}」があり、expiredate.Valueに「31/05/2017」となっていますが、ウェブページに何もエラーなしで表示されます。そして、このDateTimeレコードは、まったく同じInputを介してDataBaseに挿入されますが、私はDataBaseから取り出したときに同じInputに表示する方法を知りません。

初めてお問い合わせいただきありがとうございます。

+1

実行時に 'dt.Rows [0] [5]'の文字列値は何ですか? –

+1

質問を編集してそのコードを入力してください –

+0

@RyanSearle私の投稿を編集するだけです –

答えて

2

ここでの問題は、html日付入力とasp.net DateTimeの形式が一致しないことです。 Html date入力はmm/dd/yyyyと表示されますが、後ろの形式はyyyy-MM-ddです。

は、このことができますexpiredate.Value = Convert.ToDateTime(dt.Rows[0][5]).ToString("yyyy-MM-dd");

希望を使用してみてください。

+0

ありがとう、それは私の問題を解決しました:) –

0

日付型の入力フィールドの中に日付を挿入しているようです。しかし、これは動作しません。 htmlは生データ形式のデフォルト値をサポートしていないためです。したがって、javascriptを使用して日付フィールドをカスタマイズする必要があります。しかし、ouがRazor Htmlヘルパーから助けを借りている場合は、.NET framworkのようにこれを行うこともできません。簡単に以前の回答jQuery datepickerの助けを得ることができます、ここであなたの入力フィールドに表示されますjavascriptを介してデフォルトの日付を設定することができます。

関連する問題