当前位置: 首页 > 面试题库 >

有没有一种方法可以使用ASP.NET隐藏代码将Silverlight XAML插入我的页面?

卜高超
2023-03-14
问题内容

因此,我想从ASP.NET网页上的某些数据创建一些Silverlight图表。使用Visifire(我当前的工作)或即将推出的Silverlight图表进行此操作的方法似乎是创建一些XAML或至少一些Silverlight对象(例如在此Visifire示例中),然后以某种方式将它们填充到页面中。

奇怪的是,执行此操作的唯一方法似乎是通过JavaScript!也就是说,我必须执行以下操作:

用户- >点击按钮- > JavaScript事件处理程序- > AJAX调用从服务器片面的方法来获得XAML -

东西的XAML串入(如客户端片面HTML
一般这种或类似这样的的Visifire,具体方法)


这是非常违反直觉的!我更想在里面做这样的事情MyPage.aspx.cs

protected void MyButton_Click(object sender, EventArgs e)
{
    this.MyFictionalSilverlightControl.Xaml = this.GenerateXamlFromData();
}

那会更好!即使效率低下,我也很乐意将其保留MyFictionalSilverlightControl在其中UpdatePanel;我只是希望我知道如何制作这样一个虚构的Silverlight控件。

有任何想法吗?或有关如何更好地做到这一点的建议?


问题答案:

我建议使用一种更AJAXy的方法:让JS请求XAML,然后在从服务器返回XAML之后,运行时将该XAML插入控件(请参见HTML
Bridge)中。这样,您的控件就可以对新显示进行漂亮的动画处理/过渡。

不过,您可以执行自己的目标:

  • 将Silverlight服务器控件拍到“ 更新面板”中。
  • 编写一个aspx页面以生成XAML(更改DocType以使事情变得更容易)
  • 将Silverlight服务器控件指向.ASPX页面:

… asp:Silverlight ID =“ Xaml1” runat =“ server” Source =“〜/ ClientBin /
myXAMLPage.aspx” MinimumVersion =“ 2.0.30523” Width =“ 100%” Height =“ 100%”>

  • 每当用户单击您的按钮时,触发UpdatePanel即可执行此操作。

现在,每当用户单击一个按钮时,将呈现“更新面板”(包含Silverlight控件),并且SL控件将请求XAML文件并呈现其找到的内容。

请注意,此方法使用XAML文件实例化控件。这意味着您将无法在Silverlight中使用托管代码。如果需要托管代码,请指定.xap文件,然后使用initparam指定“
myXAMLPage.aspx”,而不是在源代码中指定“
myXAMLPage.aspx”页面。在您的Silverlight应用程序内部,下载xaml文件(WebClient或其他),然后使用XamlReader.Load加载并显示它。

hth,埃里克



 类似资料:
  • 是否有可能为二叉查找树制作一个插入方法,比如空格插入(int值),通常你必须有像插入(节点节点,int键)这样的东西。我想用整数数组填充一棵树,同时仍然保持普通插入方法的低插入运行时间为一棵树O(logn)

  • 我有一些用python编写的selenium代码,但问题是selenium总是在程序开始时打印出这个输出 由于我的电脑不支持蓝牙,我也得到了以下输出: 有没有办法只消除硒的产量?

  • 问题内容: 我知道,如果已经有该键的记录,您可以用来更新某个值, 我可以做这个: 但是,如何做到这一点而不必两次写出列和值呢? 问题答案: 不幸的是没有。 您可以不必重复该值而达到一半: 但是您仍然必须列出这些列。

  • 问题内容: 我对Web开发 非常 陌生,但是总体上有很多开发经验。我有一个ASP页,其中包含一些输入字段和一个提交按钮。这个提交按钮纯粹调用$ .ajax,我打算在代码隐藏文件中调用一个方法。但是,我注意到了两个有趣的事情。首先,无论向其提供了什么数据,ajax调用都会成功。其次,responseText字段是整个页面的html源。 我已经阅读了此文章以及其他指向webconfig的文章,但是这些

  • 问题内容: 有很多示例可以使用jQuery在javascript/dom中实现某些功能。但是,使用jQuery并非总是一种选择,它会使理解jQuery编写的javascript解决方案的示例变得困难。 有没有一种简单的方法可以将jQuery代码转换为常规javascript?我猜不必访问或理解jQuery源代码。 问题答案: 最简单的方法是仅学习如何使用普通的DOM api进行DOM遍历和操作(您

  • 问题内容: 我正在使用Retrofit,并且在每个任务中我都必须执行以下操作: 使此代码成为DRY的好方法是什么? 问题答案: 首先,您以所有常见行为声明父类 然后,您将其扩展到每个任务 但是我不知道您在哪里使用restAdapter和apiManager,以及如果实际上每个任务需要创建一次,因为您可能可以在这些任务之外创建它。 如果在外部创建它们,然后需要在任务内部使用某些东西,那么牢记Depe