【问题标题】:how to add an event handler to a control from a modal popup?如何从模式弹出窗口向控件添加事件处理程序?
【发布时间】:2013-05-29 09:34:58
【问题描述】:

我是第一次使用 Visual Basic 进行编程,并且使用 AJAX - 我以前做过,但几年前我已经很困难了!我已经搜索过主题,但他们都假设我认为我缺少的框架知识。非常感谢任何帮助。

这是我的标记:

<%@ Page Title="Report Execution" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false"
    CodeBehind="reportExecution.aspx.vb" Inherits="RDMI.reportExecution" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        Report Execution
    </h2>
    <p>
        Welcome to the RDMI Report Execution page.  Please select from the following reports:
    </p>
    <asp:Panel ID="panelReports" runat="server" Height="216px">
        <asp:Button ID="btnRDMI520" runat="server" Text="Inspection Outcomes Report" 
            BackColor="#D8D9DB" Font-Bold="True" ForeColor="#00539F" />
        <asp:modalpopupextender id="RDMI520_popup" runat="server" cancelcontrolid="btnNo"
            targetcontrolid="btnRDMI520" popupcontrolid="popupPanel"
            popupdraghandlecontrolid="popupHeader" drag="true" backgroundcssclass="backgroundPopup" OkControlID="btnYes" />
    </asp:Panel>
    <span id="statusSpan" class="status"></span><br />
    <asp:Panel ID="popupPanel" style="display: none" runat="server">
        <div class="comparisonPopup">
            <div class="comparisonPopupHeader" id="popupHeader" 
                style="font-size: 20px; font-weight: bold; color: #D8D9DB; background-color: #00539F"  >Execute Report
            </div>
            <div class="popupBody" style="font-size=16px; font-weight=bold;">
                <p>Would you like run this report with a comparison?</p>
            </div>
            <div class="Controls">
                <input id="btnYes" type="button" value="Yes" onclick="btnYes_Click"/>
                <input id="btnNo" type="button" value="No" onclick="btnNo_Click"/>
            </div>
        </div>
    </asp:Panel>
</asp:Content>

所以我想在弹出框中的按钮的 onclick 事件中添加一个事件处理程序。我知道我以前做过这个,但我找不到我的旧代码或记得怎么做。如果我需要插入 javascript 来执行此操作,任何指向文章的指针都将不胜感激,因为我无能为力!

显然我已经尝试了明显的 -

Protected Sub btnYes_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnYes.Click
End Sub

这表示“Handles 子句需要在包含类型或其基类型之一中定义的 WithEvents 变量。”

感谢任何帮助,如果成功,我将标记为答案。

【问题讨论】:

    标签: asp.net ajax vb.net visual-studio asp.net-ajax


    【解决方案1】:

    您需要使用 jQuery ajax 来从视图中调用页面方法,例如

    $.ajax({
              type: "POST",
                url: "PageName.aspx/MethodName",
                data: "{}",
                   contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                      // Do something interesting here.
                 }
                 });
    

    以上代码应该嵌入到javascript的btn.click函数中。

    另外在google上搜索你会很容易找到很多关于使用jQuery ajax的文章。

    感谢和问候,

    Nitin D. Varpe

    【讨论】:

    • 好的,我会再次从头开始。我没有 jquery 或 javascript 知识,除了上面复制的那些之外,我的站点中没有脚本。除了 AJAX 之外,我的代码中目前没有 javascript,所以我猜简短的回答是,如果不添加其他脚本就无法做到这一点?
    • 我觉得如果你在建网站,Jquery和javascript是不可避免的,因为它是如此强大,可以解决很多问题。而且它也有助于使网站轻量化。
    • 谢谢 :) 这就是我现在要去的地方
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多