Мы создали сетку Silverlight, которая позволяет редактировать дочерние объекты из формы основного объекта.Работает как чемпион.Но у нас должна быть отдельная кнопка сохранения на элементе управления Silverlight, чтобы отправить обновления обратно в CRM.Мы хотели бы, чтобы форма CRM вызывала метод элемента управления silverlight, чтобы предупредить нас о сохранении формы, а затем одновременно сохранить данные в форме silverlight.Но это просто не работает.До сих пор мы пробовали следующее:
В элементе управления Silverlight у нас есть публичный класс:
[ScriptableType]
public class JSModel
{
[ScriptableMember]
public void Save()
{
if (OnSave != null)
{
OnSave(this, new EventArgs());
}
}</p>
<pre><code> public event EventHandler OnSave;
public JSModel()
{
HtmlPage.RegisterScriptableObject("JSModel", this);
HtmlPage.Window.Eval(
@"
function CallSLSave()
{var sl = Xrm.Page.ui.controls.get ('"+ HtmlPage.Plugin.TagName + @"');
sl.content.JSModel.Save ();} ");
ScriptObject xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
ScriptObject Page = (ScriptObject)xrm.GetProperty("Page");
ScriptObject data = (ScriptObject)Page.GetProperty("data");
ScriptObject entity = (ScriptObject)data.GetProperty("entity");
entity.Invoke("addOnSave", new object[] { "CallSLSave" });
}
}
Но это не вызов метода javascript. У всех есть идеи, что мыделаешь неправильно?