【问题标题】:Problem entering edit mode on FormView在 FormView 上进入编辑模式时出现问题
【发布时间】:2010-09-20 23:42:03
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: asp.net user-controls postback


    【解决方案1】:

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

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

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

    【讨论】:

    • 我最初使用 Page_Load 事件来加载控件,然后使用 Selected_Index 更改下拉菜单的事件。困扰我的是,如果我不触发 SelectedIndex changed 事件,一切都会按预期进行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多