【问题标题】:ASP.NET how to pass a reference to a particular controlASP.NET 如何传递对特定控件的引用
【发布时间】:2014-05-29 12:28:29
【问题描述】:

我通常是一个 ASP.NET MVC 人,所以“标准”的 ASP.NET 东西对我来说有点难以理解。我已经尝试寻找答案,但我使用的关键字似乎过于笼统......我得到了很多 close 答案,但不是我真正想要的。

我有一个从数据集填充的网格。其中一个字段是具有 4 种可能状态的下拉菜单。当用户选择状态时,代码隐藏中会触发一个事件以立即在数据库中进行更改。

我需要确认一个特定的状态,因为一旦它被选中,它就不可逆转。弄清楚如何让后端弹出一个确认框很烦人,但我想我现在已经完成了这部分。

问题是,如果用户确认他们为下拉列表选择的状态是预期的,我需要通过禁用控件或完全删除该行来禁用对该下拉列表的任何进一步更改。有了这个要求,我想我需要将对触发事件的特定控件的引用传递回脚本,以便它可以通过回发传递它,我需要在其中使用它。

我不知道如何将引用传递给控件(什么可以用作引用?),我不知道如何在回发中使用该引用。

任何帮助将不胜感激。

【问题讨论】:

  • 认真的吗? 19 视图和什么都没有?也许我应该将其重写为 MVC 应用程序。
  • 无法看到您是如何构建网格的,这很困难。我想说的是,在下拉 selectedindexchanged 事件中,如果下拉列表的值是您指定的值,您将有一些代码将下拉列表设置为禁用。
  • 问题是我必须先提示用户确认。
  • 正确,所以你有 javascript 可以首先拦截下拉更改。如果该值是需要确认的值,则会弹出确认操作请求。如果确认服务器端 selectedindexchanged 代码被允许运行。如果取消,则不运行服务器端事件。有大量此类 javascript 函数可用的示例。

标签: asp.net vb.net postback web-controls dopostback


【解决方案1】:

;p 我在等你找到我关于这个问题的帖子哈哈。

但简单地说,您回发到页面,如果您在代码隐藏中实例化某些内容,所有成员仍然对您可用。如果没有,则使用FindControlDOM 中提取它们。这是传递值的东西。

只要不杀死生命周期,就可以了:Passing dropdownlist selected value to another page's dropdown list

这里是链接垃圾邮件(完整文档):How do I keep TCP/IP socket open in IIS?

可能有关会话状态和页面生命周期的文章将最有用。

【讨论】:

    【解决方案2】:

    要提示用户确认,请将此属性添加到下拉列表。

    onchange="return confirm('Confirmation Message');"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多