Let me give what I tried to do, but only leads to a javascript error:
Rather than have the sript coded on the control in markup, I add the script dynamically at page load as follows:
if (Parent.Page.ClientScript.IsClientScriptBlockRegistered(AddressScriptName))
Parent.Page.ClientScript.RegisterClientScriptBlock(
this.GetType(), AddressScriptName, MakeScript());
m_rwAddressLookups.ClientCallBackFunction =
"CallBackFromAddressFunction" + AddressScriptName;
m_btnAdressLookup.Attributes.Add(
"onclick", "return ShowAddressLookupDialog" + AddressScriptName + "();");
private string AddressScriptName{
get { return "AddressScript" + this.ClientID; }
}
private string MakeScript()
{
return @"<script type='text/javascript'>
function ShowAddressLookupDialog"
+ AddressScriptName + @"()
{
var manager = $find('<%=m_rwmAddressLookups.ClientID %>');
manager.open(null, 'm_rwAddressLookups');
return false;
}
function CallBackFromAddressFunction"
+ AddressScriptName + @"(radWindow, returnValue)
{
var oArea = document.getElementById('<%=m_tbAddressId.ClientID %>');
if (returnValue)
{
oArea.innerText = returnValue.toString();
oArea.onchange();
}
}
</script>"
;
}
WHen I click the address lookup button the onclick event complains Object Expected on bolded function:
<
input type="submit" name="ctl00$ContentPlaceHolder1$m_contactAddressEdit$m_btnAdressLookup" value="Lookup Address" onclick="return ShowAddressLookupDialogAddressScriptctl00_ContentPlaceHolder1_m_contactAddressEdit();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$m_contactAddressEdit$m_btnAdressLookup", "", true, "", "", false, false))" id="ctl00_ContentPlaceHolder1_m_contactAddressEdit_m_btnAdressLookup" class="FormButton" />
Appears that it does not find the client id qualified script function.
Any ideas?