2016-07-05 24 views
1

状況:私はちょうどCRUD操作をしたいアプリケーションがあります。たとえば、Id、Name、EOL(End of Life)の日付を保持するソフトウェアクラスがあります。投稿日時コントローラがヌルを受信

ソフトウェア製品を更新したい場合、製品寿命の終了プロパティは更新されません。それは常にnullです。私は日付のカスタムモデルのバインダーを試してみるが、私はそれを動作させることができませんでしたを読んだ。私はjQueryのUIのdatepickerを使用して、私は間違って何をしているのか分からない。私は異なったフォーマット(dd.MM.yyyy、dd/MM/yyyy、...)を試みましたが、どちらもうまくいきませんでした。私はまた、(成功なし)私のweb.configファイルでこれを追加しようとしました:ここ

<system.web> 
    <globalization 
     fileEncoding="utf-8" 
     requestEncoding="utf-8" 
     responseEncoding="utf-8" 
     culture="de-DE" 
     uiCulture="de-DE" 
    /> 
</system.web> 

は私のコードです:

Sofware.cs:

public class Software { 
    [Key] 
    public int Id { get; set; } 

    [StringLength(200)] 
    [Required] 
    public string Name { get; set; } 

    [DataType(DataType.Date)] 
    [DisplayFormat(DataFormatString = "dd.MM.yyyy", ApplyFormatInEditMode = true)] 
    public DateTime? EndOfLife { get; set; } 
} 

SoftwareController.cs:

// ... 
[HttpPost] 
public IActionResult Edit(Software software) 
{ 
    if (ModelState.IsValid) 
    { 
     //.... 
    } 
} 
// ... 

Edit.cshtml

あなたが自分自身の日付ピッカーを表示するようになっているHTML5の入力タイプ 日付または日時を使用するので、あなたはnullを取得する理由

site.js

$(function() { 
    $(".datepicker").datepicker({ dateFormat: "dd/mm/yy", showWeek: true, firstDay: 1 }); 
}); 
+0

なぜjquery内の日付形式が「dd.mm.yyyy」ではなく「dd/mm/yy」ですか? –

+0

私は別の解決策を試していたので、私の間違いだったはずです。今は "dd.mm.yy"ですが、何も変わらず、同じエラーです。 – FRules

答えて

0

を助け

@Html.TextBox("ReleaseDate", String.Format("{0:d}", DateTime.Now), new { @type = "date", @class = "datepicker" }) 

希望:

あなたは、このような代わりに、このようHtmlHelperの使用することができます。名前の代わりにIDを使うと思った。私の.cshtmlファイルに名前属性を追加した後、すべてが期待どおりに機能しました。

0

理由があります。ただし、jquery dateピッカーで日付を選択すると、この値は残りのデータとともにポストバックされません。私はまだ問題の原因を認識していませんが、確かにそこにあります。これは私が結合を台無しに...

+0

残念ながら、日付=同じ効果 – FRules

関連する問題