【问题标题】:Asking for a confirmation with conditions要求有条件的确认
【发布时间】:2012-12-23 21:10:12
【问题描述】:

仅在特定条件下,当事件触发时,我如何要求确认?我在服务器端工作,我只想在我的布尔值为真时要求确认。

【问题讨论】:

  • 什么样的确认,能解释清楚点吗?对我来说,我大部分时间都使用 javascript 确认。

标签: asp.net confirmation


【解决方案1】:

How to add a "confirm delete" option in ASP.Net Gridview?

好吧,假设您在模板列中有一个带有按钮的网格

<asp:Button ID="btnSave" runat="server" Text="Save" OnClientClick="return check();" />

并在您的检查函数中写入确定按钮是否应该引发回发?

<script type="text/javascript">

function check() {

  var doINeedToAskUserConfirmation =  // Get this according to your needs
  if ( doINeedToAskUserConfirmation  ){
      return confirm("Are you sure?");
  }
  return true;
}

</script>

假设你有一个按钮

<input type="button" id="btnConfirm" value="Proceed"/>

进行 ajax 调用以确定您是否需要任何确认。

$("#btnConfirm").click(function(){

   $.ajax({
     type: "POST",
     url: "some.ashx",
     data: { name: "John", location: "Boston" }
  }).done(function( response ) {
     // lets say when response is true we will ask confirmation
     if ( msg )
     {
        var c = confirm( "All record will be deleted. Are you sure ? ");
        // Do another ajax call to complete your operation
     }
  });


});

【讨论】:

  • 这个解决方案需要 JQuery。
  • 不好意思说出来,我所在的企业,不允许我用AJAX ...
  • @citronas 是的,我不知道这是否适用于 OP。不用JQuery他也能做这种逻辑。
  • @GmodCake 没有 ajax 吗?我假设也没有 javascript?
  • @adt Javascript : ok AJAX : 不,我不能告诉你为什么,这是我在这个企业的第一次坐骑
【解决方案2】:

根据您使用的事件类型,您可以创建一个派生自 EventArgs 的类,并将您的条件作为属性(例如,将其称为 MyCondition)放在您自己的类中。

在事件处理方法中,然后可以使用

if(e.MyCondition)
{
  // do something
}

编辑: 根据您的 cmets,我建议您尝试使用 DetailsView 进行编辑,或者如果您愿意,可以使用 GridViews 编辑模式。
你也可以看看CustomValidator

【讨论】:

  • 嗯,这对我来说看起来太难了,我想要求保存确认,有没有更简单的方法?
  • 嗯,你说的是服务器端。保存确认表示客户端交互。
  • 两者都可以,我只需要在服务器端得到确认的响应...
  • 您说的是控件,例如复选框和用于验证复选框是否被实际选中的服务器端验证?
  • 我正在使用 aspxgridview,当用户选择一行时,该行的内容被加载到某个文本框中,当他修改其中一个时,一个名为 EditorMode 的布尔值更改为“true”如果是真的,当发生其他事情时,会出现一条确认消息,我想在服务器端从这个确认消息中得到答案
猜你喜欢
  • 2018-10-25
  • 1970-01-01
  • 2023-02-05
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-07-11
  • 2015-12-09
  • 1970-01-01
相关资源
最近更新 更多