Есть ли какое-либо влияние на fireEvent (), если я использую AutoPostBack = "true" в выпадающем списке asp? - PullRequest
0 голосов
/ 30 марта 2012

Я разрабатываю страницу aspx. На странице у меня есть три выпадающих списка и кнопка. Все эти выпадающие списки будут динамически заполняться на основе кода, написанного в коде файла (файл .cs). Для этого мне нужно использовать два метода обработчика событий для первых двух выпадающих списков с AutoPostBack = "true". Затем, после нажатия кнопки в файле Javascript, она должна вызвать firEvent () с объектом, который состоит из выбранного значения. Но страница не запускает событие. Пожалуйста, помогите мне в решении этой проблемы. Заранее спасибо. PFB мой код для страницы aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PopupReference.aspx.cs"
Inherits="ButtonReference.Popups.PopupReference" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Reference Button Popup</title>  
</head>
<body>
    <form id="form1" runat="server">

    <div>
        <h1>
            Reference Button Popup</h1>
        <p>
            <asp:DropDownList ID="lookupcompDropdown" runat="server" AutoPostBack="true" onselectedindexchanged="lookupcomp_SelectedIndexChanged" >
            </asp:DropDownList>
            <asp:DropDownList ID="embeddedschemaDropdown" runat="server" AutoPostBack="true" onselectedindexchanged="embeddedschema_SelectedIndexChanged">
            </asp:DropDownList>
            <asp:DropDownList ID="lookupvaluesDropdown" runat="server" AutoPostBack="false">
            </asp:DropDownList>
            <asp:Button ID="Submit" runat="server" Text="Submit" />

        </p>
    </div>
    </form>
</body>
</html>

Файл Javascript:

Type.registerNamespace("RTFExtensions.Popups");

RTFExtensions.Popups.PopupReference = function (element) {
    Type.enableInterface(this, "RTFExtensions.Popups.PopupReference");
    this.addInterface("Tridion.Cme.View");
};

    RTFExtensions.Popups.PopupReference.prototype.initialize = function () {
        alert("initialized");    
        $log.message("Initializing Button Reference popup...");
        this.callBase("Tridion.Cme.View", "initialize");

        var p = this.properties;
        var c = p.controls;

        p.HtmlValue = { value: null };
        ($("#DropDownList1"), "System.Web.UI.WebControls.DropDownList");
            c.SubmitButon = $("#Submit");

    //asp dropdown
        c.DropDown = $("#lookupvaluesDropdown");
        $evt.addEventHandler(c.SubmitButon, "click", this.getDelegate(this._execute));
        $evt.addEventHandler(c.InsertButton, "click", this.getDelegate(this._execute));

    };

    RTFExtensions.Popups.PopupReference.prototype._execute = function () {
        alert("executing");
        //alert($("#lookupvaluesDropdown").value);
        this.properties.HtmlValue.value = $("#lookupvaluesDropdown").value;
        alert(this.properties.HtmlValue.value+"in execute");
        alert(this.fireEvent("submit1", this.properties.HtmlValue));
        //$("#Submit").fireEvent("submit1", this.properties.HtmlValue);
        window.close();
    };

    $display.registerView(RTFExtensions.Popups.PopupReference); 

1 Ответ

0 голосов
/ 30 марта 2012

Пожалуйста, уточните свой вопрос.Насколько я понимаю,

Является ли ваша кнопка кнопкой asp, если это так, попробуйте использовать событие OnClientClick для вызова функции javascript.Получите доступ к этим выпадающим спискам в вашей функции javascript, чтобы манипулировать ими.

Ваше событие запускается (попробуйте отладить ваш javascript), но при обратной передаче отображается новая страница.Попробуйте использовать обычную кнопку HTML вместо кнопки ASP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...