2012-04-10 5 views
0

私はasp.net MVCの新しい開発者です。私はすべてのデータを見ることができるポップアップモデルで編集をクリックした後、gridview上の編集ボタンを持っています。例:mvc 3でHiddenforのない私のIDを生かし続ける方法は?

私のDbには顧客表があります。4列:ID(PK)、名前、姓、連絡先IDのテキストボックスが表示されません。編集ボタンChange Nameをクリックした後、SurNameはHttpPost Editコントローラを送信します。驚きのイベントがあります:ıdは消えています!検索後:


@using (Html.BeginCollectionItem("Kortingartikel")) { 

    @Html.HiddenFor(x => x.Artikelid) 
    @Html.TextBoxFor(x => x.Artikelnaam) 
    @Html.TextBoxFor(x => x.Prijs) 

} 

ヒドゥンフォールが解決策です。しかし、その解決策は私を満足させることはできません。 idはなぜ消えて、idを隠すことなくid値を保持するのですか?

+0

そして、何隠しフィールドにIDを保存すると間違っているような方法にそれを結合するのに十分にスマートすべきですか?ここで私は最善の解決策に見えます。 –

+0

私は隠されたフィールドを使用することはできません私はprosessを編集するパラメータで私のモデルを送信しています。なぜIDが消えてしまうの? – programmerist

答えて

1

これは、viewstateを使用して情報を格納するasp.net webformではありません。 MVCは回避策なしで純粋なhtmlを使用します。 基本的には、ポストにないものは存在しません。

URLであなたのIDを持ってすることができ、私は考えることができるという、HiddenForを使用しない方法。 Frmaeworkこの

public ViewResult MyAction(int id, MyViewModel viewModel) 
{ 

} 
関連する問題