2017-12-15 12 views
0

asp.net webformアプリケーションを継承しました。今私はそれに新しい機能を追加しようとします。asp.net webformでフォームの値の一部をモデルにバインドする方法

エンドユーザーからデータを取得するためのフォームを作成し、そのデータをデータベースの2つのテーブルに格納しました。

データベースとの通信に対処するためにEntity Frameworkを使用しました。

私の質問は、フォームデータが2つのモデル(2つのテーブル)に入る必要があるため、1つのモデルをフォームデータの一部にバインドできますか? それを行う方法はありません。それぞれのフォームデータをすべて調べ、モデルプロパティに割り当てる必要があります。

例えば データモデルは

class ModelA{ 
    public int ModelAID {get;set;} 
    public string ModelAName {get;set;} 
} 
class ModelB{ 
    public int ModelBID {get;set;} 
    public string ModelBName{get;set;} 
} 

フロントエンドページは

<form> 
    <input name="Aid"/> 
    <input name="AName"/> 
    <input name="Bid"/> 
    <input name="BName"/> 
</form> 

コードbehideは、使用しているバージョンのどのような

答えて

0

でしょう?だろうだろうか Webフォーム4.5で開発していますが、同様の問題が発生しました。

短い答えはちょっと難しいですが、いくつかの制限があります。

データバインディングの場合は、データをインポートするだけの場合や、データを更新して削除する場合は、 という意味がわかりません。

私にとって、私はデータを表示したり、更新したり、削除したりするために、どこでもgridviewを使用しています。私の経験上、1つのテーブルに対して更新と削除が可能です。

しかし、他のテーブルのデータをItemTemplateに表示することで表示できます。ここで

は私が何をしたかの短い例です:

 <asp:GridView runat="server" ItemType="model" 
     ID="someGrid" SelectMethod="someGrid_GetData" CellPadding ="10" 
     autoGenerateColumns="false" deleteMethod="someGrid_DeleteItem" 
     updateMethod="someGrid_UpdateItem" DataKeyNames="id" 
     AutoGenerateDeleteButton="true" AutoGenerateEditButton="true"> 
       <Columns> 
     <asp:DynamicField DataField="col1" /> 
     <asp:BoundField DataField="col2" HeaderText="col2" /> 
     <asp:TemplateField HeaderText="details"> 
      <ItemTemplate> 
       <asp:HyperLink ID="detailLink" runat="server" Text="details" NavigateUrl='<%# "~/someDetails?some=" + Eval("someDetails") %>'></asp:HyperLink> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="vendor"> 
      <ItemTemplate> 
       <asp:Label ID="vendorLbl" runat="server"></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
    </asp:GridView> 

あなたが見ることができるように、あなたは、更新モデルのテーブルからデータを削除していますが、またのラベルとして、ベンダー内のデータを置くことができる可能性がコードの背後にある。

私はこれについて多くの時間を費やしました。 これが役立つことを願っています!

+0

お返事ありがとうございます。私は1つのフォームから2つのデータベーステーブルにデータを更新したい。したがって、TryUpdateModelメソッドを2回使用するだけですが、フォームデータの一部を使用するたびに使用されます。もっと明確にするために質問を更新しました。 –

+0

ごめんなさい。見つけたら教えてください。正直なところ、私たちはそれを行うことができるかどうかはわかりません。 –

関連する問題