Wrox Programmer Forums
|
Classic ASP Basics For beginner programmers starting with "classic" ASP 3, pre-".NET." NOT for ASP.NET 1.0, 1.1, or 2.0
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Classic ASP Basics section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old October 20th, 2008, 05:11 AM
Registered User
 
Join Date: Oct 2008
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default Session values to the Controls

hi,

The below is the ASP 3.0 code. I am new to ASP 3.0. I am unable to assign the Session Values to the Controls.


Please advice me.


<%
Option Explicit

Dim sCaption
Dim bPageProcessed
Dim sError

sCaption = "Dealer Search"
if IsEmpty(Session("CallHistory")) then
    Session("CallHistory") = "abc"
elseif Session("CallHistory") = "Back" then
    'Session("CallHistory") = Session("SearchCompany") & "pip"

        '***********(1.1)****************************
    'txtCompany.value = Session("SearchCompany")
    'txtContact.value = Session("SearchContact")
    'txtIMGNum.value = Session("SearchIMGNum")
    'txtCity.value = Session("SearchCity")
    'lbState.getValue() = Session("SearchState")
    'txtZipCode.value = Session("SearchZipCode")
    'txtPhone1.value = Session("SearchPhone1")
    'txtPhone2.value = Session("SearchPhone2")
    'txtPhone3.value = Session("SearchPhone3")
    'txtEmail.value = Session("SearchEmail")
    'txtAltNum.value = Session("SearchAltNum")
    'lbxStatus.getValue() = Session("SearchStatus")
    'txtAddress1.value = Session("SearchAddress1")
    'txtJobNum.value = Session("SearchJobNum")
    'lbContactType.getValue() = Session("SearchContactType")
        '************end*******************************

    'Session("CallHistory") = "None"
    'btnSearch_onclick()
End if

%>


<html>
<head>
<title>IMaGine</title>
</head>
<link rel="stylesheet" type="text/css" href="i_style.css">
<body>

<% ' VI 6.0 Scripting Object Model Enabled %>

<% if StartPageProcessing() Then Response.End() %>
<form name="thisForm" METHOD="post">


<script ID="serverEventHandlersVBS" LANGUAGE="vbscript" RUNAT="Server">

Sub rsDealerList_onbeforeopen()
    rsDealerList.setParameter 1, Replace(txtCompany.value,"'", "''")
    rsDealerList.setParameter 2, Replace(txtContact.value ,"'", "''")
    rsDealerList.setParameter 3, txtIMGNum.value
    rsDealerList.setParameter 4, Replace(txtCity.value ,"'", "''")
    rsDealerList.setParameter 5, lbState.getValue()
    rsDealerList.setParameter 6, txtZipCode.value
    rsDealerList.setParameter 7, txtPhone1.value & txtPhone2.value & txtPhone3.value
    rsDealerList.setParameter 8, txtEmail.value
    rsDealerList.setParameter 9, txtAltNum.value
    rsDealerList.setParameter 10, lbxStatus.getValue()
    rsDealerList.setParameter 11, Replace(txtAddress1.value ,"'", "''")
    rsDealerList.setParameter 12, txtJobNum.value
    rsDealerList.setParameter 13, lbContactType.getValue()


End Sub

Sub btnNew_onclick()
    Response.Redirect "dt_dlr_profile.asp?pDealerId=0&pNew=1"
End Sub

Sub btnSearch_onclick()
    If Validate() Then
        rsDealerList.open
        Session("SearchCompany") = Replace(txtCompany.value,"'", "''")
        Session("SearchContact") = Replace(txtContact.value ,"'", "''")
        Session("SearchIMGNum") = txtIMGNum.value
        Session("SearchCity") = Replace(txtCity.value ,"'", "''")
        Session("SearchState") = lbState.getValue()
        Session("SearchZipCode") = txtZipCode.value
        Session("SearchPhone1") = txtPhone1.value
        Session("SearchPhone2") = txtPhone2.value
        Session("SearchPhone3") = txtPhone3.value
        Session("SearchEmail") = txtEmail.value
        Session("SearchAltNum") = txtAltNum.value
        Session("SearchStatus") = lbxStatus.getValue()
        Session("SearchAddress1") = Replace(txtAddress1.value ,"'", "''")
        Session("SearchJobNum") = txtJobNum.value
        Session("SearchContactType") = lbContactType.getValue()
    End If
End Sub

Function Validate()
    Dim sPhone
    sPhone = Trim(txtPhone1.value & txtPhone2.value & txtPhone3.value)

    If Trim(txtCompany.value & _
        txtContact.value & _
        txtIMGNum.value & _
        txtAddress1.value & _
        txtCity.value & _
        lbState.getValue() & _
        lbContactType.getValue() & _
        txtZipCode.value & _
        txtZipCode.value & _
        sPhone & _
        txtEmail.value & _
        txtJobNum.value & _
        txtAltNum.value ) = "" and _
        lbxStatus.getValue() <> "0" Then
            sError = sError & "<li>Need at least one search value</li>"
    End If

    If sError <> "" Then
        sError = "Please check following item(s):" & sError
        Validate = false
    Else
        Validate = true
    End If
End Function

</script>




<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=rsState style="LEFT: 0px; TOP: 0px" classid="clsid:9CF5D7C2-EC10-11D0-9862-0000F8027CA0">
    <PARAM NAME="ExtentX" VALUE="12197">
    <PARAM NAME="ExtentY" VALUE="2090">
    <PARAM NAME="State" VALUE="(TCConn=\qdbConnDlr\q,TCDBObject_Unmatched= \qSQL\sStatement\q,TCDBObjectName_Unmatched=\qSELE CT\s''\sAS\sAbbreviation,\s''\sAS\sdescription\s\r \nUNION\r\nSELECT\sAbbreviation,\sdescription\sFRO M\scmn_dealertrack\s.\sdbo.vState\swith\s(nolock)\ sORDER\sBY\sAbbreviation\q,TCControlID_Unmatched=\ qrsState\q,TCPPConn=\qdbConnDlr\q,TCPPDBObject=\qV iews\q,TCPPDBObjectName=\qT_Departments\q,RCDBObje ct=\qRCSQLStatement\q,TCSQLStatement_Unmatched=\qS ELECT\s''\sAS\sAbbreviation,\s''\sAS\sdescription\ s\r\nUNION\r\nSELECT\sAbbreviation,\sdescription\s FROM\scmn_dealertrack\s.\sdbo.vState\swith\s(noloc k)\sORDER\sBY\sAbbreviation\q,TCCursorType=\q0\s-\sForward\sOnly\q,TCCursorLocation=\q2\s-\sUse\sserver-side\scursors\q,TCLockType=\q1\s-\sRead\sOnly\q,TCCacheSize_Unmatched=\q10\q,TCComm Timeout_Unmatched=\q10\q,CCPrepared=0,CCAllRecords =1,TCNRecords_Unmatched=\q10\q,TCODBCSyntax_Unmatc hed=\q\q,TCHTargetPlatform=\q\q,TCHTargetBrowser_U nmatched=\qServer\s(ASP)\q,TCTargetPlatform=\qInhe rit\sfrom\spage\q,RCCache=\qRCNoCache\q,CCOpen=1,G CParameters=(Rows=0))"></OBJECT>
-->

<SCRIPT LANGUAGE="JavaScript" RUNAT="server">
function _initrsState()
{
    var DBConn = Server.CreateObject('ADODB.Connection');
    DBConn.ConnectionTimeout = Application('dbConnDlr_ConnectionTimeout');
    DBConn.CommandTimeout = Application('dbConnDlr_CommandTimeout');
    DBConn.CursorLocation = Application('dbConnDlr_CursorLocation');
    DBConn.Open(Application('dbConnDlr_ConnectionStrin g'), Application('dbConnDlr_RuntimeUserName'), Application('dbConnDlr_RuntimePassword'));
    var cmdTmp = Server.CreateObject('ADODB.Command');
    var rsTmp = Server.CreateObject('ADODB.Recordset');
    cmdTmp.ActiveConnection = DBConn;
    rsTmp.Source = cmdTmp;
    cmdTmp.CommandType = 1;
    cmdTmp.CommandTimeout = 10;
    cmdTmp.CommandText = 'SELECT \'\' AS Abbreviation, \'\' AS description UNION SELECT Abbreviation, description FROM cmn_dealertrack . dbo.vState with (nolock) ORDER BY Abbreviation';
    rsTmp.CacheSize = 10;
    rsTmp.CursorType = 0;
    rsTmp.CursorLocation = 2;
    rsTmp.LockType = 1;
    rsState.setRecordSource(rsTmp);
    rsState.open();
}
function _rsState_ctor()
{
    CreateRecordset('rsState', _initrsState, null);
}
</SCRIPT>


<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=rsContactType style="LEFT: 0px; TOP: 0px" classid="clsid:9CF5D7C2-EC10-11D0-9862-0000F8027CA0">
    <PARAM NAME="ExtentX" VALUE="12197">
    <PARAM NAME="ExtentY" VALUE="2090">
    <PARAM NAME="State" VALUE="(TCConn_Unmatched=\qdbConnDlr\q,TCDBObject_ Unmatched=\qSQL\sStatement\q,TCDBObjectName_Unmatc hed=\qSELECT\s0\sAS\sContactByTypeId,\s''\sAS\sDes cription,\s''\sAS\sPrtAbrv\r\nUNION\r\n\r\nSELECT\ sContactByTypeId,\sDescription,\sPrtAbrv\sFROM\stb lContactByType\r\norder\sby\sdescription\q,TCContr olID_Unmatched=\qrsContactType\q,TCPPConn_Unmatche d=\qdbConnDlr\q,TCPPDBObject=\qTables\q,TCPPDBObje ctName=\qT_Departments\q,RCDBObject=\qRCSQLStateme nt\q,TCSQLStatement_Unmatched=\qSELECT\s0\sAS\sCon tactByTypeId,\s''\sAS\sDescription,\s''\sAS\sPrtAb rv\r\nUNION\r\n\r\nSELECT\sContactByTypeId,\sDescr iption,\sPrtAbrv\sFROM\stblContactByType\r\norder\ sby\sdescription\q,TCCursorType=\q0\s-\sForward\sOnly\q,TCCursorLocation=\q2\s-\sUse\sserver-side\scursors\q,TCLockType=\q1\s-\sRead\sOnly\q,TCCacheSize_Unmatched=\q10\q,TCComm Timeout_Unmatched=\q10\q,CCPrepared=0,CCAllRecords =1,TCNRecords_Unmatched=\q10\q,TCODBCSyntax_Unmatc hed=\q\q,TCHTargetPlatform=\q\q,TCHTargetBrowser_U nmatched=\qServer\s(ASP)\q,TCTargetPlatform=\qInhe rit\sfrom\spage\q,RCCache=\qRCNoCache\q,CCOpen=1,G CParameters=(Rows=0))"></OBJECT>
-->
<SCRIPT LANGUAGE="JavaScript" RUNAT="server">
function _initrsContactType()
{
    var DBConn = Server.CreateObject('ADODB.Connection');
    DBConn.ConnectionTimeout = Application('dbConnDlr_ConnectionTimeout');
    DBConn.CommandTimeout = Application('dbConnDlr_CommandTimeout');
    DBConn.CursorLocation = Application('dbConnDlr_CursorLocation');
    DBConn.Open(Application('dbConnDlr_ConnectionStrin g'), Application('dbConnDlr_RuntimeUserName'), Application('dbConnDlr_RuntimePassword'));
    var cmdTmp = Server.CreateObject('ADODB.Command');
    var rsTmp = Server.CreateObject('ADODB.Recordset');
    cmdTmp.ActiveConnection = DBConn;
    rsTmp.Source = cmdTmp;
    cmdTmp.CommandType = 1;
    cmdTmp.CommandTimeout = 10;
    cmdTmp.CommandText = 'SELECT 0 AS ContactByTypeId, \'\' AS Description, \'\' AS PrtAbrv UNION SELECT ContactByTypeId, Description, PrtAbrv FROM tblContactByType where contactbytypeid not in (6,4,1,5,3,17,18,19,20,21,22,23,24) order by description';
    rsTmp.CacheSize = 10;
    rsTmp.CursorType = 0;
    rsTmp.CursorLocation = 2;
    rsTmp.LockType = 1;
    rsContactType.setRecordSource(rsTmp);
    rsContactType.open();
}
function _rsContactType_ctor()
{
    CreateRecordset('rsContactType', _initrsContactType, null);
}
</SCRIPT>



<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=rsDealerList style="LEFT: 0px; TOP: 0px" classid="clsid:9CF5D7C2-EC10-11D0-9862-0000F8027CA0">
    <PARAM NAME="ExtentX" VALUE="12197">
    <PARAM NAME="ExtentY" VALUE="2090">
    <PARAM NAME="State" VALUE="(TCConn=\qdbConnDlr\q,TCDBObject=\qStored\s Procedures\q,TCDBObjectName=\qspFindDealer\q,TCCon trolID_Unmatched=\qrsDealerList\q,TCPPConn=\qdbCon nDlr\q,RCDBObject=\qRCDBObject\q,TCPPDBObject=\qSt ored\sProcedures\q,TCPPDBObjectName=\qspFindDealer \q,TCCursorType=\q3\s-\sStatic\q,TCCursorLocation=\q3\s-\sUse\sclient-side\scursors\q,TCLockType=\q1\s-\sRead\sOnly\q,TCCacheSize_Unmatched=\q10\q,TCComm Timeout_Unmatched=\q10\q,CCPrepared=0,CCAllRecords =1,TCNRecords_Unmatched=\q10\q,TCODBCSyntax_Unmatc hed=\q\q,TCHTargetPlatform=\q\q,TCHTargetBrowser_U nmatched=\qServer\s(ASP)\q,TCTargetPlatform=\qInhe rit\sfrom\spage\q,RCCache=\qRCNoCache\q,CCOpen=0,G CParameters=(Rows=10,Row1=(CType_Unmatched=\qIn\q, CParName_Unmatched=\q@Company\q,CDataType_Unmatche d=\qVarChar\q,CSize_Unmatched=\q50\q,CReq=0),Row2= (CType_Unmatched=\qIn\q,CParName_Unmatched=\q@Cont act\q,CDataType_Unmatched=\qVarChar\q,CSize_Unmatc hed=\q50\q,CReq=0),Row3=(CType_Unmatched=\qIn\q,CP arName_Unmatched=\q@IMGNum\q,CDataType_Unmatched=\ qVarChar\q,CSize_Unmatched=\q50\q,CReq=0),Row4=(CT ype_Unmatched=\qIn\q,CParName_Unmatched=\q@City\q, CDataType_Unmatched=\qVarChar\q,CSize_Unmatched=\q 50\q,CReq=0),Row5=(CType_Unmatched=\qIn\q,CParName _Unmatched=\q@State\q,CDataType_Unmatched=\qVarCha r\q,CSize_Unmatched=\q50\q,CReq=0),Row6=(CType_Unm atched=\qIn\q,CParName_Unmatched=\q@Zipcode\q,CDat aType_Unmatched=\qVarChar\q,CSize_Unmatched=\q50\q ,CReq=0),Row7=(CType_Unmatched=\qIn\q,CParName_Unm atched=\q@Phone\q,CDataType_Unmatched=\qVarChar\q, CSize_Unmatched=\q50\q,CReq=0),Row8=(CType_Unmatch ed=\qIn\q,CParName_Unmatched=\q@Email\q,CDataType_ Unmatched=\qVarChar\q,CSize_Unmatched=\q50\q,CReq= 0),Row9=(CType_Unmatched=\qIn\q,CParName_Unmatched =\q@AltNum\q,CDataType_Unmatched=\qVarChar\q,CSize _Unmatched=\q50\q,CReq=0),Row10=(CType_Unmatched=\ qIn\q,CParName_Unmatched=\q@Status\q,CDataType_Unm atched=\qVarChar\q,CSize_Unmatched=\q5\q,CReq=0))) "></OBJECT>
-->
<SCRIPT LANGUAGE="JavaScript" RUNAT="server">
function _setParametersrsDealerList()
{
}
function _initrsDealerList()
{
    rsDealerList.advise(RS_ONBEFOREOPEN, _setParametersrsDealerList);
    var DBConn = Server.CreateObject('ADODB.Connection');
    DBConn.ConnectionTimeout = Application('dbConnDlr_ConnectionTimeout');
    DBConn.CommandTimeout = Application('dbConnDlr_CommandTimeout');
    DBConn.CursorLocation = Application('dbConnDlr_CursorLocation');
    DBConn.Open(Application('dbConnDlr_ConnectionStrin g'), Application('dbConnDlr_RuntimeUserName'), Application('dbConnDlr_RuntimePassword'));
    var cmdTmp = Server.CreateObject('ADODB.Command');
    var rsTmp = Server.CreateObject('ADODB.Recordset');
    cmdTmp.ActiveConnection = DBConn;
    rsTmp.Source = cmdTmp;
    cmdTmp.CommandType = 4;
    cmdTmp.CommandTimeout = 10;
    cmdTmp.CommandText = '"spFindDealer"';
    rsTmp.CacheSize = 10;
    rsTmp.CursorType = 3;
    rsTmp.CursorLocation = 3;
    rsTmp.LockType = 1;
    rsDealerList.setRecordSource(rsTmp);
}
function _rsDealerList_ctor()
{
    CreateRecordset('rsDealerList', _initrsDealerList, null);
}
</SCRIPT>




<table WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="5">
    <tr>
        <td class="actionBar">
            Actions: </b>
            <!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=btnNew style="LEFT: 0px; WIDTH: 78px; TOP: 0px; HEIGHT: 27px" classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731"
    width=78 height=27>
    <PARAM NAME="_ExtentX" VALUE="2064">
    <PARAM NAME="_ExtentY" VALUE="714">
    <PARAM NAME="id" VALUE="btnNew">
    <PARAM NAME="Caption" VALUE="Add New">
    <PARAM NAME="Image" VALUE="">
    <PARAM NAME="AltText" VALUE="">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->

<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _initbtnNew()
{
    btnNew.value = 'Add New';
    btnNew.setStyle(0);
}
function _btnNew_ctor()
{
    CreateButton('btnNew', _initbtnNew, null);
}
</script>
<% btnNew.display %>



        </td>
        <td>SessionName: <%=Session("SearchJobNum") %> <%=Session("CallHistory") %>
        </td>
    </tr>
</table>

<table WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
    <tr>
        <td>


<table BORDER="0" CELLSPACING="1" CELLPADDING="3" width=100%>
    <tr>
        <td colspan="6" class="header">
        Please enter dealer information below and press the search button.
        </td>
    </tr>
    <tr>
        <td class="detail" align="right">Company:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtCompany style="LEFT: 0px; WIDTH: 90px; TOP: 0px; HEIGHT: 19px" classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0"
    width=90 height=19>
    <PARAM NAME="_ExtentX" VALUE="2381">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtCompany">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="20">
    <PARAM NAME="DisplayWidth" VALUE="15">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->

<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtCompany()
{
    txtCompany.setStyle(TXT_TEXTBOX);
    txtCompany.setMaxLength(20);
    txtCompany.setColumnCount(15);
}
function _txtCompany_ctor()
{
    CreateTextbox('txtCompany', _inittxtCompany, null);
}
</script>
<% txtCompany.display %>



        </td>
        <td class="detail" align="right">Contact(last name):</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtContact style="LEFT: 10px; WIDTH: 90px; TOP: 159px; HEIGHT: 19px" classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0"
    width=90 height=19>
    <PARAM NAME="_ExtentX" VALUE="2381">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtContact">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="20">
    <PARAM NAME="DisplayWidth" VALUE="15">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtContact()
{
    txtContact.setStyle(TXT_TEXTBOX);
    txtContact.setMaxLength(20);
    txtContact.setColumnCount(15);
}
function _txtContact_ctor()
{
    CreateTextbox('txtContact', _inittxtContact, null);
}
</script>
<% txtContact.display %>


        </td>
        <td class="detail" align="right">Dealer ID:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtIMGNum style="LEFT: 10px; WIDTH: 48px; TOP: 257px; HEIGHT: 19px" classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0"
    width=48 height=19>
    <PARAM NAME="_ExtentX" VALUE="1270">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtIMGNum">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="20">
    <PARAM NAME="DisplayWidth" VALUE="8">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtIMGNum()
{
    txtIMGNum.setStyle(TXT_TEXTBOX);
    txtIMGNum.setMaxLength(20);
    txtIMGNum.setColumnCount(8);
}
function _txtIMGNum_ctor()
{
    CreateTextbox('txtIMGNum', _inittxtIMGNum, null);
}
</script>
<% txtIMGNum.display %>


        </td>
    </tr>


    <tr>
        <td class="detail" align="right">Address:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtAddress1 style="LEFT: 0px; WIDTH: 90px; TOP: 0px; HEIGHT: 19px" height=19
    width=90 classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="2381">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtAddress1">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="20">
    <PARAM NAME="DisplayWidth" VALUE="15">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtAddress1()
{
    txtAddress1.setStyle(TXT_TEXTBOX);
    txtAddress1.setMaxLength(20);
    txtAddress1.setColumnCount(15);
}
function _txtAddress1_ctor()
{
    CreateTextbox('txtAddress1', _inittxtAddress1, null);
}
</script>
<% txtAddress1.display %>



        </td>
        <td class="detail" colspan=2>
        <table width="100%" border="0" cellpadding=0 cellspacing=0>
            <tr>
        <td class="detail" align="right">City:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtCity style="LEFT: 0px; WIDTH: 60px; TOP: 0px; HEIGHT: 19px" height=19
    width=60 classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="1588">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtCity">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="20">
    <PARAM NAME="DisplayWidth" VALUE="10">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtCity()
{
    txtCity.setStyle(TXT_TEXTBOX);
    txtCity.setMaxLength(20);
    txtCity.setColumnCount(10);
}
function _txtCity_ctor()
{
    CreateTextbox('txtCity', _inittxtCity, null);
}
</script>
<% txtCity.display %>


        </td>
        <td class="detail" align="right">State:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=lbState style="LEFT: 0px; WIDTH: 96px; TOP: 0px; HEIGHT: 21px" height=21
    width=96 classid="clsid:B5F0E450-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="2540">
    <PARAM NAME="_ExtentY" VALUE="556">
    <PARAM NAME="id" VALUE="lbState">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="ControlStyle" VALUE="0">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="Platform" VALUE="0">
    <PARAM NAME="UsesStaticList" VALUE="0">
    <PARAM NAME="RowSource" VALUE="rsState">
    <PARAM NAME="BoundColumn" VALUE="Abbreviation">
    <PARAM NAME="ListField" VALUE="Abbreviation">
    <PARAM NAME="LookupPlatform" VALUE="0">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->

<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _initlbState()
{
    rsState.advise(RS_ONDATASETCOMPLETE, 'lbState.setRowSource(rsState, \'Abbreviation\', \'Abbreviation\');');
}
function _lbState_ctor()
{
    CreateListbox('lbState', _initlbState, null);
}
</script>
<% lbState.display %>


        </td>
        <td class="detail" align="right">Zip:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtZipCode style="LEFT: 0px; WIDTH: 30px; TOP: 0px; HEIGHT: 19px" height=19
    width=30 classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="794">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtZipCode">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="20">
    <PARAM NAME="DisplayWidth" VALUE="5">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtZipCode()
{
    txtZipCode.setStyle(TXT_TEXTBOX);
    txtZipCode.setMaxLength(20);
    txtZipCode.setColumnCount(5);
}
function _txtZipCode_ctor()
{
    CreateTextbox('txtZipCode', _inittxtZipCode, null);
}
</script>
<% txtZipCode.display %>


        </td>

            </tr>
        </table>
        </td>
        <td class="detail" align="right">Status:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=lbxStatus style="LEFT: 0px; WIDTH: 80px; TOP: 0px; HEIGHT: 21px" height=21
    width=80 classid="clsid:B5F0E450-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="2117">
    <PARAM NAME="_ExtentY" VALUE="556">
    <PARAM NAME="id" VALUE="lbxStatus">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="ControlStyle" VALUE="0">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="UsesStaticList" VALUE="-1">
    <PARAM NAME="CLSize" VALUE="3">
    <PARAM NAME="CLED1" VALUE="Active">
    <PARAM NAME="CLEV1" VALUE="1">
    <PARAM NAME="CLED2" VALUE="Inactive">
    <PARAM NAME="CLEV2" VALUE="0">
    <PARAM NAME="CLED3" VALUE="All">
    <PARAM NAME="CLEV3" VALUE="%">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _initlbxStatus()
{
    lbxStatus.addItem('Active', '1');
    lbxStatus.addItem('Inactive', '0');
    lbxStatus.addItem('All', '%');
}
function _lbxStatus_ctor()
{
    CreateListbox('lbxStatus', _initlbxStatus, null);
}
</script>
<% lbxStatus.display %>


        </td>
    </tr>


    <tr>
        <td class="detail" align="right">Phone:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtPhone1 style="LEFT: 10px; WIDTH: 18px; TOP: 335px; HEIGHT: 19px" classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0"
    width=18 height=19>
    <PARAM NAME="_ExtentX" VALUE="476">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtPhone1">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="3">
    <PARAM NAME="DisplayWidth" VALUE="3">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtPhone1()
{
    txtPhone1.setStyle(TXT_TEXTBOX);
    txtPhone1.setMaxLength(3);
    txtPhone1.setColumnCount(3);
}
function _txtPhone1_ctor()
{
    CreateTextbox('txtPhone1', _inittxtPhone1, null);
}
</script>
<% txtPhone1.display %>


<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtPhone2 style="LEFT: 0px; WIDTH: 18px; TOP: 0px; HEIGHT: 19px" classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0"
    width=18 height=19>
    <PARAM NAME="_ExtentX" VALUE="476">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtPhone2">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="3">
    <PARAM NAME="DisplayWidth" VALUE="3">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtPhone2()
{
    txtPhone2.setStyle(TXT_TEXTBOX);
    txtPhone2.setMaxLength(3);
    txtPhone2.setColumnCount(3);
}
function _txtPhone2_ctor()
{
    CreateTextbox('txtPhone2', _inittxtPhone2, null);
}
</script>
<% txtPhone2.display %>


<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtPhone3 style="LEFT: 10px; WIDTH: 24px; TOP: 373px; HEIGHT: 19px" classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0"
    width=24 height=19>
    <PARAM NAME="_ExtentX" VALUE="635">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtPhone3">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="4">
    <PARAM NAME="DisplayWidth" VALUE="4">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtPhone3()
{
    txtPhone3.setStyle(TXT_TEXTBOX);
    txtPhone3.setMaxLength(4);
    txtPhone3.setColumnCount(4);
}
function _txtPhone3_ctor()
{
    CreateTextbox('txtPhone3', _inittxtPhone3, null);
}
</script>
<% txtPhone3.display %>



        </td>
        <td class="detail" colspan=2> Email:
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtEmail style="LEFT: 0px; WIDTH: 180px; TOP: 0px; HEIGHT: 19px" height=19
    width=180 classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="4763">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtEmail">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="50">
    <PARAM NAME="DisplayWidth" VALUE="30">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtEmail()
{
    txtEmail.setStyle(TXT_TEXTBOX);
    txtEmail.setMaxLength(50);
    txtEmail.setColumnCount(30);
}
function _txtEmail_ctor()
{
    CreateTextbox('txtEmail', _inittxtEmail, null);
}
</script>
<% txtEmail.display %>


        </td>

        <td class="detail" align="right">Alt #:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtAltNum style="LEFT: 0px; WIDTH: 60px; TOP: 0px; HEIGHT: 19px" height=19
    width=60 classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="1588">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtAltNum">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="10">
    <PARAM NAME="DisplayWidth" VALUE="10">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtAltNum()
{
    txtAltNum.setStyle(TXT_TEXTBOX);
    txtAltNum.setMaxLength(10);
    txtAltNum.setColumnCount(10);
}
function _txtAltNum_ctor()
{
    CreateTextbox('txtAltNum', _inittxtAltNum, null);
}
</script>
<% txtAltNum.display %>


        </td>

    </tr>

    <tr>

        <td class="detail" align="Right">Job #:</td>
        <td class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=txtJobNum style="LEFT: 0px; WIDTH: 60px; TOP: 0px; HEIGHT: 19px" height=19
    width=60 classid="clsid:B5F0E469-DC5F-11D0-9846-0000F8027CA0">
    <PARAM NAME="_ExtentX" VALUE="1588">
    <PARAM NAME="_ExtentY" VALUE="503">
    <PARAM NAME="id" VALUE="txtJobNum">
    <PARAM NAME="ControlType" VALUE="0">
    <PARAM NAME="Lines" VALUE="3">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="MaxChars" VALUE="10">
    <PARAM NAME="DisplayWidth" VALUE="10">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _inittxtJobNum()
{
    txtJobNum.setStyle(TXT_TEXTBOX);
    txtJobNum.setMaxLength(10);
    txtJobNum.setColumnCount(10);
}
function _txtJobNum_ctor()
{
    CreateTextbox('txtJobNum', _inittxtJobNum, null);
}
</script>
<% txtJobNum.display %>


        </td>
        <td class="detail" align="Right">Call Status:</td>
        <TD class="detail">
<!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=lbContactType style="LEFT: 0px; WIDTH: 96px; TOP: 0px; HEIGHT: 21px" classid="clsid:B5F0E450-DC5F-11D0-9846-0000F8027CA0"
    width=96 height=21>
    <PARAM NAME="_ExtentX" VALUE="2540">
    <PARAM NAME="_ExtentY" VALUE="556">
    <PARAM NAME="id" VALUE="lbContactType">
    <PARAM NAME="DataSource" VALUE="">
    <PARAM NAME="DataField" VALUE="">
    <PARAM NAME="ControlStyle" VALUE="0">
    <PARAM NAME="Enabled" VALUE="-1">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="UsesStaticList" VALUE="0">
    <PARAM NAME="RowSource" VALUE="rsContactType">
    <PARAM NAME="BoundColumn" VALUE="ContactByTypeId">
    <PARAM NAME="ListField" VALUE="Description">
    <PARAM NAME="LookupPlatform" VALUE="0">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _initlbContactType()
{
    rsContactType.advise(RS_ONDATASETCOMPLETE, 'lbContactType.setRowSource(rsContactType, \'Description\', \'ContactByTypeId\');');
}
function _lbContactType_ctor()
{
    CreateListbox('lbContactType', _initlbContactType, null);
}
</script>
<% lbContactType.display %>


</TD>
<td class="detail" colspan="2"></td>

    </tr>

    <tr>
        <td colspan="6" class="detail" align = "center">
            <!--METADATA TYPE="DesignerControl" startspan
<OBJECT id=btnSearch style="LEFT: 0px; WIDTH: 65px; TOP: 0px; HEIGHT: 27px" classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731"
    width=65 height=27>
    <PARAM NAME="_ExtentX" VALUE="1720">
    <PARAM NAME="_ExtentY" VALUE="714">
    <PARAM NAME="id" VALUE="btnSearch">
    <PARAM NAME="Caption" VALUE="Search">
    <PARAM NAME="Image" VALUE="">
    <PARAM NAME="AltText" VALUE="">
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="Platform" VALUE="256">
    <PARAM NAME="LocalPath" VALUE=""></OBJECT>
-->
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _initbtnSearch()
{
    btnSearch.value = 'Search';
    btnSearch.setStyle(0);
}
function _btnSearch_ctor()
{
    CreateButton('btnSearch', _initbtnSearch, null);
}
</script>
<% btnSearch.display %>


        </td>
    </tr>
</table>

<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=5>
    <TR>
        <TD class="error">
            <%=sError%>
        </TD>
    </TR>
</TABLE>

<%
if Session("CallHistory") = "Back" then
    txtCompany.value = Session("SearchCompany")
    txtContact.value = Session("SearchContact")
    txtIMGNum.value = Session("SearchIMGNum")
    txtCity.value = Session("SearchCity")
    'lbState.setValue() = Session("SearchState")
    txtZipCode.value = Session("SearchZipCode")
    txtPhone1.value = Session("SearchPhone1")
    txtPhone2.value = Session("SearchPhone2")
    txtPhone3.value = Session("SearchPhone3")
    txtEmail.value = Session("SearchEmail")
    txtAltNum.value = Session("SearchAltNum")
    'lbxStatus.getValue() = Session("SearchStatus")
    txtAddress1.value = Session("SearchAddress1")
    txtJobNum.value = Session("SearchJobNum")
    'lbContactType.getValue() = Session("SearchContactType")
    Session("CallHistory") = "None"
    'btnSearch_onclick()
end if
%>

<%
if rsDealerList.getCount() > 0 then
%>
<p>
<table BORDER="0" CELLSPACING="1" CELLPADDING="3" width="100%">
    <tr>
        <td class="header">Dealer ID</td>
        <td class="header">Company</td>
        <td class="header">City</td>
        <td class="header">State</td>
        <td class="header">Zip</td>
    </tr>
<%
    do while not rsDealerList.EOF
%>
    <tr>
        <td class="detail"><a HREF="dt_dlr_profile_new.asp?pDealerId=<%=rsDealer List.fields.getValue("DealerId")%>"><%=rsDealerLis t.fields.getValue("IMGCode")%></a></td>
        <td class="detail"><%=rsDealerList.fields.getValue("Na me")%></td>
        <td class="detail"><%=rsDealerList.fields.getValue("Ci ty")%></td>
        <td class="detail"><%=rsDealerList.fields.getValue("St ate")%></td>
        <td class="detail"><%=rsDealerList.fields.getValue("Zi p")%></td>
    </tr>
<%
        rsDealerList.moveNext
    loop
%>
</table>
<%
elseif rsDealerList.isOpen() then
    Response.Write "There are no Dealers to display."
end if

rsDealerList.close
%>
        </td>
    </tr>
</table>

<% ' VI 6.0 Scripting Object Model Enabled %>
<% EndPageProcessing() %>
</form>

</body>
</html>
 
Old October 20th, 2008, 06:31 PM
Friend of Wrox
 
Join Date: Jan 2004
Posts: 1,870
Thanks: 12
Thanked 20 Times in 20 Posts
Send a message via AIM to mat41
Default

Constructivly - this is not the way to get the best help on forums. If possible you should post the offending code only, point out where the error or trouble spot is and detailed errors if any. If you are lucky someone may wade through all this code. IMO it just doesnt look like you have tried to help yourself but more importantly not made it easy for others to help you.

IMO - Session variables should be used sparingly and as a last resort. Form variables and querystrings are a much better use of resources

Wind is your friend
Matt
www.elitemarquees.com.au
 
Old October 21st, 2008, 10:43 AM
Friend of Wrox
 
Join Date: Nov 2007
Posts: 207
Thanks: 2
Thanked 15 Times in 15 Posts
Default

yes please only post the portion of code in which your error is occurring. So I'll assume you are having issues with this part:

sCaption = "Dealer Search"
if IsEmpty(Session("CallHistory")) then
    Session("CallHistory") = "abc"
elseif Session("CallHistory") = "Back" then
    'Session("CallHistory") = Session("SearchCompany") & "pip"

        '***********(1.1)****************************
    'txtCompany.value = Session("SearchCompany")


first you have option explicit on which means you can't cast an object to a string so let's tweak what you almost have:

if String.IsNullOrEmpty(Session("CallHistory").ToStri ng) then
    Session("CallHistory") = "abc"
elseif Session("CallHistory").ToString = "Back" then
    Session("CallHistory") = Session("SearchCompany").ToString & "pip"

        '***********(1.1)****************************
    txtCompany.value = Session("SearchCompany").ToString


This should hopefully help and get you started. Please only post the related code in which you are having the issue to make it easier for us to help with out sifting through a page full of code.

Jason Hall





Similar Threads
Thread Thread Starter Forum Replies Last Post
Persist Property Values In Controls. jahanzaib.attari ASP.NET 2.0 Basics 1 September 21st, 2007 09:19 AM
my session variables not retaining values nidhimittal Beginning PHP 4 July 7th, 2006 12:33 AM
my session variables not retaining values nidhimittal PHP How-To 5 June 22nd, 2006 12:35 AM
Get session values from a classes minhpx General .NET 3 August 9th, 2004 10:05 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.