我正在开发一个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);
答案 0 :(得分:0)
请澄清你的问题。 据我所知
你的Button是asp按钮,如果是这样,尝试使用OnClientClick事件来调用javascript函数。 访问javascript函数中的下拉列表来操作它们。
您的活动正在解雇(尝试调试您的javascript),但在回发时会呈现一个全新的页面。 尝试使用普通的HTML按钮而不是ASP按钮。