CRM Plugin obter o Título de uma página em C#
-
21-12-2019 - |
Pergunta
Estou criando um Plugin para o CRM, Que define o Título da página como o Primeiro Nome para a Conta da Entidade.
O resultado desejado que eu tenha alcançado o mesmo escrevendo um função javascript em formload Evento no CRM.
A seguir está o código
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;
}
}
}
Mas meu cliente não quero nenhum código javascript em vez disso, ele a quer através de Plugin.
Eu tenho escrito um plugin, mas não sei como obter e definir o Título da página.
Projeto do Plugin é uma biblioteca de classes C# .
Código abaixo Plugin
Basicamente, eu quero de código C# para comentou(Javascipt) Linhas
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;
//}
//}
//}
}
Agradecemos antecipadamente por qualquer ajuda
Solução
Não é possível modificar o título de um formulário de conta por um plugin. Isso porque os plugins Act Servidor Side, em vez disso, o JavaScript (e o formulário da sua conta) são executados do lado do cliente. O CRM não armazena o título da conta, mas gera em tempo de execução.