如何将部分表单值绑定到asp.net webform中的模型

问题描述 投票:0回答:1

我继承了一个asp.net webform应用程序。现在,当我尝试添加新功能时。我点击了以下停止:

我创建了一个表单来从最终用户获取数据,数据进入数据库中的两个表。

我使用Entity Framework来处理与数据库的通信。

我的问题是,因为表单数据需要进入两个模型(两个表),我可以将一个模型绑定到表单数据的一部分吗?或者没有办法做到这一点,我必须浏览每个表单数据并将它们分配给模型属性?

例如数据模型

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>

代码背后会是

asp.net webforms model-binding
1个回答
0
投票

你用的是哪种版本?我正在开发网络表单4.5,我遇到了类似的问题。

简短的回答是......有点困难,但你可以通过一些限制来做到这一点。

对于数据绑定,我不确定你的意思..如果你只想带数据,或者你想要更新和删除数据。

对我来说,我在任何地方使用gridview来显示数据,也可以更新,删除它,根据我的经验,可以对一个表进行更新和删除。

但您可以通过在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>

如您所见,您可以更新,删除模型表中的数据,但您也可以将数据作为标签从供应商中放入供应商。

我花了很多时间搞清楚这一点。希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.