1

我遇到的问题是我担心的是设计问题,而不是编码问题,但无论如何我都会问这个问题。

我有一个 ASP.NET 2.0 Web 应用程序,它根据数据库中的值动态加载两个不同的用户控件。这些用户控件中的每一个基本上都是一个 FormView 控件和一个显示数据库值的 SqlDataSource 控件。其中一个控件仅用于显示数据(我使用了 FormView,因此我可以更轻松地控制布局),而另一个 FormView 我需要用户能够编辑。

在此页面上,用户可以选择一个下拉菜单来更改用于加载控件的“魔法值”。此下拉菜单启用了自动回发。

当回发发生时,动态加载控件后一切看起来都很好,但是当您单击编辑按钮时,它只是刷新页面而不将 FormView 置于“编辑”模式。您必须再次单击“编辑”按钮才能实现这一点。

所以,现在我的问题是,我怎样才能停止额外的鼠标点击?我认为这与回传中事物的构造方式有关,但我的大脑现在很紧张,我希望那里的某个人可能已经解决了这个问题。

4

1 回答 1

1

您在哪里(什么事件)加载用户控件?很可能在加载控件时,您的编辑按钮已经连线(没有)...

编辑:在 page_load 和 selected_index_changed 上放置断点以查看它们何时发生;可能是 page_load 首先发生,它消除了连线;您是否正在加载由 !IsPostBack 保护的控件并且 ViewState 是否打开?Viewstate 可能会自动恢复您的控件,但随后您的 page_load 会再次将它们清除...

...没有代码很难确定。您可能还想打开跟踪并将一些跟踪输出添加到您的方法中以确切了解何时发生了什么,并查看生成的 html 树

于 2008-11-06T02:47:58.340 回答