C# 点击当前页面按钮触发另一个窗口的事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 点击当前页面按钮触发另一个窗口的事件相关的知识,希望对你有一定的参考价值。

进入程序后会弹出个消息框(另一个小页面)提示用户,我这个小页面上加了一个linkbutton,想在点击linkbutton的时候在主页面上跳转到某一页面,求高手指点

参考技术A 主业代码:
private void Form1_Load(object sender, EventArgs e)

Form2 fm = new Form2();
Form3 fm3 = new Form3();
fm.ShowDialog();
fm3.Show();
this.Close();

linkbutton代码:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

this.Close();
追问

= =这个是客户端得代码吧,在那应该好用。。我这是在服务器端。。属于web..

追答

原来你说的是web啊,那你把那个小页面放在层里,这样点击linkbutton不就能跳转了么

追问

那样跳转的只是那个小页面跳转到了新页面,起始页没动。。。

追答

我的意思是小页面和起始页是在一个页面里的,只不过小页面是放在层里的,他们postback到后台是同一个类。

追问

T T杯具的是这个填出页面是同事都写好的,只是让我加这个玩意。。。。

参考技术B 你弹出子页面用的是ShowModalDialog 吗?追问

貌似是。。

追答

你在父页面里用window.open() 弹出子页面
可以在子页面里用window.opener.location.href="新页面";
来让父页面跳转

本回答被提问者采纳
参考技术C 有些难度、追问

= =这个回答我很是纠结。。。等了半天

追答

详细点、

追问

就是OA系统,输入用户和密码进入起始页(index.aspx吧),进来会弹出个消息提示框(其实也是个小页面tx.aspx)这个小页面有用户需要提醒的数据,然后我在数据里(gridview)放了linkbutton,我想在点击linkbutton后起始页面直接跳转到提示消息的那个页面

动态点击事件未触发

我有一个jQuery移动页面,其中包含许多我用作按钮的图像。

页面最初加载时,所有图像都有一个“非活动”类。如果单击其中一个按钮,其类将更改为“活动”,并且所有其他按钮将从“非活动”更改为“禁用”。如果我离开页面并直接导航,1图像仍然具有“活动”类,其余的仍然具有“禁用”类。

当我单击活动按钮时,它将类从“活动”更改为“非活动”,并且所有其他按钮将类从“禁用”更改为“非活动”。这允许我选择另一个按钮作为活动按钮。

当我单击之前已禁用但现在处于非活动状态的其中一个按钮时,单击事件不会触发。就好像它认为该类仍然被禁用,就像最初加载页面时一样。我已经在Firefox中使用Firebug进行了检查,并且该类已正确设置为非活动状态,但仍然表现为该类已被禁用。

这是我的jQuery:

$(document).ready(function() {

  $('.inactive, .active').on("click", function(){
    // Toggle active/inactive class
    $(this).toggleClass("active inactive");

    // Disable if 1 active button, else inactive
    if($('.active').length == 1) {
      $('.inactive').toggleClass("inactive disabled");
    } else {
      $('.disabled').toggleClass("disabled inactive");
    }
  });

});

和HTML按钮:

<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a>

和班级:

.button {
  background:url("../images/compare.png") no-repeat;
  width: 18px;
  height:18px
}
.active {
  background-position: 0 -18px;
  cursor:pointer
}
.inactive {
  background-position: 0 0;
  cursor:pointer
}
.disabled {
  background-position: 0 -36px;
  cursor:default
}
答案

好的,我已经弄清楚了。

当我将类从禁用更改为非活动时,单击处理程序不会自动附加到“新”非活动按钮。

我已经为所有按钮添加了一个新类'mybutton'(例如,一个活动按钮将是class =“mybutton active”),然后在click处理程序中查找该类,因此即使是禁用的按钮也会运行代码。

这是我的新代码:

$(document).ready(function() {

  $('.mybutton').on("click", function(){
    if($(this).hasClass("inactive") || $(this).hasClass("active")) {
      $(this).toggleClass("active inactive");
    }

    // Disable if 1 active button, else inactive
    if($('.active').length == 1) {
      $('.inactive').toggleClass("inactive disabled");
    } else {
      $('.disabled').toggleClass("disabled inactive");
    }
  });

});

我必须包装$(this).toggleClass(“active inactive”);在一个令我困惑的if语句中的陈述。

如果没有if语句,单击禁用的按钮会将其变为活动状态。为什么会这样?为什么在if语句中包装按钮时只需检查与切换相同的类就可以修复它?

以上是关于C# 点击当前页面按钮触发另一个窗口的事件的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET如何点击按钮后关闭当前窗口?

跪请高手指教----- C# 页面按钮点击以后不触发后台事件,一般是啥原因?

C#按钮实现网页跳转?

怎么点击确定按钮关闭当前窗口,并返回父页面,并且父页面刷新。

HTML中如何让窗口在点击按钮关闭该窗口?

vue 的点击事件怎么获取当前点击的元素