ASP.NET 2.0:FormView中的用户控件需要保存用户数据(对于傻瓜;))

时间:2009-09-01 08:35:40

标签: asp.net vb.net user-controls formview

我开发了一个用户控件,它被绑定到id-field,然后可以编辑来自(各种)其他源(通过此id链接)的记录。这样做很好,但是在保存表单时我很难保存数据 - 显然还有更多要做的事情,而不是“只是”写回来。

我不想为“内部更新”添加额外的按钮,但是希望能够很好地理解ASP.net机制,以便按照它应该完成的方式来实现。不幸的是,我没有到达任何地方(时间不多了),所以我希望有人可以分享一些有关如何使这种集成工作的见解,以及要查看哪些事件等。

提前致谢:)

迈克尔

修改:感谢您的评论,我正在努力提供有关这个想法的更多详情:

<FormView...
   <EditItemTemplate...
      <table...
          <asp:Textbox text="<% Bind('bla1') %>...
          <uc1:MyControl id1="<%# Bind('bla2') %> editeable="True"...
          <asp:ImageButton CommandName="Update"...
...
   <ItemTemplate...
      <table...
          <asp:Textbox text="<%# Bind('bla') %>...
          <uc1:MyControl id1="bla" editeable="False"...

此用户控件uc1显示大量相关记录(基于id1) - 并且在编辑模式下还可以编辑/添加这些“内部”记录。 现在,由于用户具有保存记录的“标准方式”,因此我不想通过添加特殊的保存方法来干涉,因为我们碰巧在其他地方编辑了一些内部记录。这对用户来说无关紧要,UI的行为应该相同。这意味着我必须在内部处理保存。但是我如何知道用户想要保存以及处理此问题的最佳做法是什么?有没有一种方法可以“控制”用户控件关于包含控件的Update-event,我是否必须通过自定义Update-command等使其显式化。我们试图使其健壮且通用,这样它就可以很容易地重复使用。 (仍然希望这不相矛盾;))

1 个答案:

答案 0 :(得分:2)

我理解这个问题的方法是你的webform上有一个按钮,但是你的用户控件没有。然后,单击该按钮时,您希望保留对usercontrol所做的更改。如果是这种情况,为什么不在usercontrol上创建一个方法来保存所做的所有更改,并从表单上按钮的click事件中调用此方法?