是否可以在按钮点击事件中打开弹出窗口而不使用asp.net C#中的jquery?

时间:2018-01-04 16:47:17

标签: c# asp.net

您好我想在按钮点击事件中打开弹出窗口而不使用asp.net C#中的j-query。 这是一项简单的任务,我熟悉Asp.Net MVC。但我对Asp.Net并不熟悉,所以只有我在为这个简单的任务而苦苦挣扎。

请任何人告诉我如何在不使用asp.net C#中的jquery的情况下通过按钮点击事件打开弹出窗口。

我的网络表单

SpecilalityMaster.Aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="specialitymaster.aspx.cs" Inherits="popupwindow.admin.specialitymaster" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <form id="frmPopupExample" runat="server">

<asp:Button ID="btnOpenPopupWindow" 
            runat="server" 
            Text="Open Popup Window" OnClick="btnOpenPopupWindow_Click" 
             />
 </form>

<div class="popup">
     <asp:TextBox ID="_lname" runat="server"></asp:TextBox>

        <asp:Button ID="Button1" 
            runat="server" 
            Text="save" OnClick="Button1_Click" 
             />
    </div>
 </asp:Content>

specialitymaster.aspx.cs

public partial class specialitymaster : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btnOpenPopupWindow_Click(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {

    }
}

我只是简单地尝试过。我设计了一个按钮和一个弹出窗口。如果我点击按钮点击事件打开弹出窗口,我需要打开弹出窗口。我不知道是否可能。我在CS页面中创建了按钮点击事件,但我不知道如何在按钮点击事件中调用该弹出窗口名称。

示例

Desirable result: Please see image.

3 个答案:

答案 0 :(得分:1)

如果我理解正确,您不需要弹出窗口,只需尝试激活页面上的某个div。你需要做这个div服务器端

<div class="popup" runat="server" style="display:none" id="divPop">
 <asp:TextBox ID="_lname" runat="server"></asp:TextBox>

    <asp:Button ID="Button1" 
        runat="server" 
        Text="save" OnClick="Button1_Click" 
         />
</div>

然后在服务器端单击

protected void btnOpenPopupWindow_Click(object sender, EventArgs e)
{
  divPop.Attributes.Add("style", "display:block);
}

这将使你的div可见

  

EDIT   在你的情况下更好的解决方案是使用asp面板而不是div。

<asp:panel id="divPop" visible="false" runat="server">
    <asp:TextBox ID="_lname" runat="server"></asp:TextBox>

      <asp:Button ID="Button1" 
    runat="server" 
    Text="save" OnClick="Button1_Click" 
     />
</asp:panel>

然后您将能够非常轻松地操作服务器端代码中的可见性

protected void btnOpenPopupWindow_Click(object sender, EventArgs e)
{
  divPop.Visible=true;
}

答案 1 :(得分:0)

您在代码中使用服务器端控件。

<asp:Button ID="btnOpenPopupWindow" 
        runat="server" 
        Text="Open Popup Window" OnClick="btnOpenPopupWindow_Click" 
         />
单击此按钮将立即触发发布到服务器和服务器(您的ASP.NET应用程序)将处理该事件。如果您将注册脚本来执行此操作,那么您将能够从服务器打开弹出窗口的唯一方法。你的CLick应该看起来像

 protected void btnOpenPopupWindow_Click(object sender, EventArgs e)
{
  ClientScript.RegisterStartupScript(this.GetType(), 
    "yourWindowName", 
     String.Format("<script>window.open('{0}');</script>", yourURL));
}

答案 2 :(得分:-1)

使用此:

var DefineWindowSize= "location=yes,height=570,width=520,scrollbars=yes,status=yes";
var URL = "https://www.google.com";
var win = window.open(URL, "_blank", DefineWindowSize);

创建一个函数并将其添加到函数内部。