I am attempting to pass the selected value from a dropdownlist to a client side function but my code throws a 'Object reference not set to an instance of an object' exception when I try to register the client side variable. Please take a look and see if you can help.
in the .ascx file I have
<asp:DropDownList ID="DDL_Report_List" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DDL_Report_List_SelectedIndexChanged" />
<script type="text/javascript" src="/js/des.js"></script>
In the ascx.cs file in the page load I have:
protected void Page_Load(object sender, EventArgs e){protected void DDL_Report_List_SelectedIndexChanged(object sender, EventArgs e)
{
if (!IsPostBack)
{ReportingService2005 rs = InstantiateRS();
Get_Report_List(rs);
Bind_DDL_Report_List(DDL_Report_List); }
else {
if (DDL_Report_List.SelectedIndex != 0) {
strURL = DDL_Report_List.SelectedValue;
if(ClientAPI.BrowserSupportsFunctionality(ClientAPI.ClientFunctionality.DHTML))
ClientAPI.RegisterClientReference(this.Page, ClientAPI.ClientNamespaceReferences.dnn);
try {ClientAPI.RegisterClientVariable(this.Page, "rURL", strURL, true);} //THIS IS THE LINE THAT THROWS THE EXCEPTION
catch (Exception ex){ string temp = ex.ToString();}
DDL_Report_List.SelectedIndex = 0;
}
}
And then
string getReport = DDL_Report_List.SelectedValue;
if(DDL_Report_List.SelectedIndex==2) //set global variable
strURL = @"http://10.0.3.40/Reports/Pages/Report.aspx?ItemPath=/BrokerReports/" + getReport;}
else //set global variable
strURL = @"http://10.0.3.40/Reports/Pages/Report.aspx?ItemPath=/BrokerReports/" + getReport + "?ReportID=CPC1&Firm=E&&rc:parameters=False&rc:Toolbar=false";
}
In the js file I have:
function
{
var url = dnn.getVar('rURL');
window.open(url, "one", "left=10, top=10, width=600, height=800, location=no, menubar=no, resizable=no, scrollbars=no, status=no, titlebar=no, toolbar=no");
}
I have read the ClientAPI help doc and thik I may have to use ClientAPI.RegisterPostBackEvent, but can't quite grasp everything I am to do. Any help would be greatly appreciated. Thanks in advance
GetRpt()
protected void DDL_Report_List_SelectedIndexChanged(object sender, EventArgs e)
private string strURL;