Il plugin CRM ottiene il titolo di una pagina in c #
-
21-12-2019 - |
Domanda
Sto creando un plugin per CRM che imposta il titolo della pagina come nome per l'entità dell'account.
Il risultato desiderato che ho raggiunto lo stesso scrivendo una funzione JavaScript sull'evento di Formload in crm.
Di seguito è riportato il codice
var titlename = Xrm.Page.data.entity.attributes.get("firstname").getValue();
var titleSpan = document.getElementById('form_title_div');
if(titleSpan) {
for(var i = 0;i < titleSpan.children.length;i++) {
if(titleSpan.children[i].className == 'ms-crm-Form-Title-Data autoellipsis') {
titleSpan.children[i].innerText = titlename;
}
}
}
.
Ma il mio cliente non vuole invece alcun codice JavaScript, lo vuole thru plugin .
Ho scritto un plugin ma non so come ottenere e impostare il titolo della pagina.
Plugin Project è una libreria di classe C # .
Codice è sotto per Plugin
Fondamentalmente voglio c # codice per commentato (javascipt) linee
using (var crm = new XrmServiceContext(service))
{
var account = crm.ContactSet.Where(c => c.AccountId == id).First();
var titlename = contact.Crmp_Firstname.ToString();
//var titleSpan = document.getElementById('form_title_div');
//if(titleSpan) {
//for(var i = 0;i < titleSpan.children.length;i++) {
//if(titleSpan.children[i].className == 'ms-crm-Form-Title-Data autoellipsis') {
//titleSpan.children[i].innerText = titlename;
//}
//}
//}
}
.
Grazie in anticipo per qualsiasi aiuto
Soluzione
Non è possibile modificare il titolo di un modulo di account da parte di un plugin. Questo perché i plugin Act Server lato, invece JavaScript (e il modulo dell'account) viene eseguito il lato client. CRM non memorizza il titolo dell'account, ma generalo in fase di runtime.