我正在为CRM创建一个插件,它将页面的标题设置为账户实体的名字。CRM Plugin获取C#页面的标题#
我通过在CRM中的formload事件 上编写javascript函数实现了相同的效果。
以下是代码
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;
}
}
}
但我的客户不希望任何JavaScript代码,而不是他想要的一切难关插件。
我写了一个插件,但不知道如何获取和设置页面的标题。
插件项目是一个C#类库。
代码是低于插件
基本上我想要的评论(javascipt的)行的C#代码提前
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;
//}
//}
//}
}
感谢所有帮助
访问DOM不受支持,通常是一个坏主意;该代码可能随时中断。您可以将所需的信息放在表单标题中;它甚至可能对用户更明显。 – Bvrce