【问题标题】:ASP.NET WebForms WebSite - controls changes their's values in codebehind but not on frontendASP.NET WebForms WebSite - 控件在代码中更改其值,而不是在前端
【发布时间】:2015-08-21 23:06:29
【问题描述】:

我会尽力表达我对 WebForms 的不理解。也许有人可以给我解释一下……

  1. 我在“相当大”的 WebForms(网站)应用程序中工作。
  2. 应用程序已经有一个弹出窗口(我必须使用它,因为我没有时间制作一个新窗口),例如 Winforms 中的 MessageBox,但是:
    • 它的位置在 MasterPage.master 中(我像 ((MasterPage)Poup.Show("blablabla", yes_no)) 一样使用它;
    • 我可以向它添加按钮并更改样式等。
    • 它不会停止应用程序(如 WinForms 中的 .ShowDialog()),因此我必须动态分配 onClick 事件并在 Page_Load 上分配/捕获它们,以根据用户在表单上的输入转到所需的方法。目前我对此无能为力。

这就是问题所在:

根据表单验证,如果用户按下按钮(在表单上) - 然后表单重新定义它是 TextBox.Text 的值并更改 DropDownLists 的 SelectedIndexes 和 SelectedValues。

但是,如果您使用我的弹出窗口使用相同的方法:

例如:你确认了吗?是/否

如果您按任意按钮,则:代码隐藏可以看到更改,但屏幕上仍然可以看到文本框,以前的数据也可以看到,下拉列表也选择了旧值

但是,如果您按下表单按钮(无论是哪个),即使方法不起作用 - 所有表单都会“重新加载”并在屏幕上显示正确的数据。

(不是关于 Runat="server" 或 AutoPostBack,我查过了)

我不知道该怎么办:(

【问题讨论】:

    标签: c# asp.net webforms popup buttonclick


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      (有一段时间没有处理网络表单事件,只是回答以防其他人这样做。)

      出于好奇,如果在弹出按钮的 javascript 处理程序中,您获取主页上的表单按钮之一并在其上调用“.click()”会发生什么?

      基本问题听起来像是在主页上有一个 runat/server 表单,与它相关联的某些行为,由主页 runat 服务器按钮提交,而不是由您的弹出 JS 提交。

      使用上述方法很容易测试。如果可行,请更进一步,根据这些按钮的作用,尝试找出它为什么会起作用。

      (如果您根本不使用 JS 来弹出弹出窗口,那么查看源代码输出 HTML,因为我确定 it 是。回溯这些调用应该有助于您了解弹出窗口的跟踪按下按钮以提交表单。)

      【讨论】:

        【解决方案3】:

        我可能通过“OnClick”误导了您,这不是 javascript OnClick="method()" 问题。

        我的意思是按钮上的 ClickEvent(在代码隐藏中)。对于前。如果表单得到验证,我必须这样做:

        ViewState["PopUpSelection"] = "yes_no";
        (MasterPage)PopUp.Show("blabla",yes_no) //loads popup from MasterPage;
        return;
        

        然后在 Page_Load 我有:

        **if (string)ViewState["PopUpSelection"] == "yes_no"
        {
             ButtonConfirmYes.Click += new EventHandler(MyMethod);
        }**
        

        如果从 FORM 按钮调用方法“MyMethod”,则一切“一切正常”。

        如果您在 从 PopUp 按钮中调用相同的方法:代码隐藏可以看到更改,但在屏幕上没有任何反应,除非我按下 ANY FORM BUTTON,不管它做什么

        【讨论】:

          猜你喜欢
          • 2021-06-05
          • 2012-07-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-14
          • 2016-11-01
          相关资源
          最近更新 更多