Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
somenathroy
Creator III
Creator III

[WorkBench] Getting error : Need unique binderid,

Hi All,

I am developing a ASP.NET page with Qlikview Workbench. My objective is to show the Text of a the QvObject on clicking of a button by javascript.

My .aspx page contains the following code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>

<%@ Register Assembly="QlikViewWorkBench" Namespace="QT.QWW.WebControls" TagPrefix="qww" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns:zfp="http://www.qliktech.com/zfp" xmlns="http://www.w3.org/1999/xhtml">  

<head runat="server">

    <title>Untitled Page</title>

     <meta http-equiv="X-UA-Compatible" content="IE=9; IE=EmulateIE8" />                            

    <link rel="stylesheet" type="text/css" media="screen" href="http://SERVER/QvAjaxZfc/htc/default.css" />                            

    <!link rel="stylesheet" type="text/css" media="screen" href="http://SERVER/QvAjaxZfc/htc/modal/modal.css" />                            

    <link rel="stylesheet" type="text/css" href="http://SERVER/QvAjaxZfc/htc/avq.css"/>                         

    <script type="text/javascript" src="http://SERVER/QvAjaxZfc/htc/QvAjax.js"></script>

    <script type="text/javascript">

    <!-- // Script for QlikView AJAX integration -->

        var qva;

        function Init() {

            qva = new Qva.PageBinding('wrkBench');   //can have several binders each with their own doc and authentication etc.


             alert('d');

            var doc = Qva.ExtractProperty("document", null);

            qva.View = doc;    

            new Qva.Modal();

            new Qva.Scanner();          

            qva.Autoview="";

            qva.AuthenticateUrl = 'http://SERVER/QvAJAXZfc/Authenticate.aspx';

           qva.Host="Local";

           Qva.Start();

        }

        Qva.BodyOnLoadFunctionNames.push('Init');

  

</script>        

</head>

<body >

    <form id="form1" runat="server">

    <div>

    <input type = "submit" value = "HTML"  />

    </div>

    <div>


        <qww:QvObject ID="QvObject1" runat="server" Height="110px" ObjectID="TX01" ObjectType="Text Object" QlikViewDocument="wrkBench           (QVS@server)" QvAjaxZfcPath="http://SERVER/QvAjaxZfc/" />


    </div>

    </form>

</body>

</html>

At  the compilation time I am getting the error : Need unique binderid at the red colored line of the above code.

Please help.

Thanks,

Somnath.

3 Replies
alex_nerush
Partner - Creator II
Partner - Creator II

I have similar problem, but with my QlikView Extension object. When i try to load jquery.mobile-1.0.min.js with the Qva.LoadScript function call, such alert was raised. Some kind of "PageBinding" problem lies in the QvAjax.js library.

Here is what i found in the QvAjax.js:

... Qva.PageBinding=function(d){this.ID=d||"";this.binderid=this.ID;if(Qva.binders[this.ID]){alert("Need unique binderid");return} ...

In my case this.ID is undefined and following condition ("if(Qva.binders[this.ID])")  is fullfilled. So, problem lies in the .PageBinding. I think some kind of bug in the QvAjax.js library...

Stefan_Walther
Employee
Employee

Hi,

did you ever solve that problem?

I am having the same issue using jQuery mobile 1.2 ...

Regards

Stefan

alex_nerush
Partner - Creator II
Partner - Creator II

Hi Stefan,

don't really remember how it was solved... but here you are couple lines of code from my extension object... maybe it will be helpful for you.

var BASE_EXT_URL = Qva.Remote + "?public=only&mode=binary&name=Extensions/" + EXTENSION_NAME +"/";

Qva.AddExtension(EXTENSION_NAME, function() {

                    Qva.LoadCSS(BASE_EXT_URL +"jquery.mobile-1.0.min.css");

 

                    var scripts = [];

                    scripts.push(BASE_EXT_URL + "jquery-1.6.4.js");

                    scripts.push(BASE_EXT_URL + "jquery.mobile-1.0.min.js");

                    LoadScripts(scripts);

  ....

}

function LoadScripts(scripts, callback)

{

          var a = function(){

                    if(scripts.length>0){

                              var f = scripts.shift();

                              Qva.LoadScript(Qva.AddProxyIfAny(f), a)

                    }else{

                              if(callback&&typeof(callback)==="function"){

                                        callback()

                              }

                    }

          };

          Qva.LoadScript(Qva.AddProxyIfAny(scripts.shift()),a);

}