我正在创建一个CRM插件,它将页面标题设置为帐户实体的名字。
通过在formload Event 上编写 javascript函数,我达到了相同的效果 在CRM中。
以下是代码
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;
//}
//}
//}
}
提前感谢您提供任何帮助
答案 0 :(得分:4)
无法通过插件修改帐户表单的标题。 这是因为插件代理服务器端,而JavaScript(和您的帐户表单)在客户端执行。 CRM不存储帐户的标题,但会在运行时生成。