SilverLight 页面后台方法XX.xaml.cs 创建JS,调用JS ,弹出提示框
1.Invoke和InvokeSelf
- public partial class CreateJSDemo : UserControl
- {
- public CreateJSDemo()
- {
- InitializeComponent();
- string jsText = @"function callJs(msg){alert(msg);}"; //function可以是在此处创建,也可以是已经在页面存在的function
- HtmlElement element = HtmlPage.Document.CreateElement("Script");
- element.SetAttribute("type", "text/javascript");
- element.SetProperty("text", jsText);
- HtmlPage.Document.Body.AppendChild(element);
- }
- private void btn_Invoke_Click(object sender, RoutedEventArgs e)
- {
- HtmlPage.Window.Invoke("callJs", "Haha");
- }
- private void btn_InvokeSefy_Click(object sender, RoutedEventArgs e)
- {
- ScriptObject script = HtmlPage.Window.GetProperty("callJs") as ScriptObject;
- script.InvokeSelf("God bless you!");
- }
- }
2.CreateInstance
- public partial class CallJsByCreateInstance : UserControl
- {
- public CallJsByCreateInstance()
- {
- InitializeComponent();
- string jsText = @"
- jsObject = funciton callJs(msg)
- {
- this.Msg=msg;
- }
- jsObject.property.show=function
- {
- alert(this.Msg);
- }
- ";
- HtmlElement element = HtmlPage.Document.CreateElement("Script");
- element.SetAttribute("type", "text/javascript");
- element.SetProperty("text", jsText);
- HtmlPage.Document.Body.AppendChild(element);
- }
- private void btn_CreateInstance_Click(object sender, RoutedEventArgs e)
- {
- ScriptObject script = HtmlPage.Window.CreateInstance("jsObject", "Haha");
- script.Invoke("show");
- }
- }
以上是转载 于 http://blog.csdn.net/zfyong/article/details/6317772 博客
本人的例子:
silverlight页面图表有个checkbox选择是否收藏,后台传参给wcf 进行增加,删除操作(收藏,取消收藏),wcf返回结果给silverlight,silverlight根据不同结果调用js弹出提示框
一、silverlight页面
<navigation:Page x:Class="SilverlightApplication2.BeginHome" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation" mc:Ignorable="d" d:DesignWidth="1080" d:DesignHeight="1350" Title="主页" Style="{StaticResource PageStyle}" xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" Loaded="Page_Loaded">
<StackPanel Height="1350" Name="stackPanel1" Width="1080">
<toolkit:WrapPanel Height="1350" Name="wrapPanel1" Width="1040">
<Grid Height="320" Name="grid1" Width="510" Margin="1,4,4,1">
<!--<Button Name="b" Margin="500,26,0,264" Content="收藏" FontSize="10"></Button>-->
<TextBlock Name="t1" Text="收藏" Margin="454,302,30,0" Height="20"></TextBlock>
<CheckBox Background="Blue" Name="c1" Height="17" Width="16" Margin="484,302,10,0" Click="c1_Click"></CheckBox>
</Grid>
</toolkit:WrapPanel>
</StackPanel>
</navigation:Page>
二、silverlight后台
(1)Click方法
private void c1_Click(object sender, RoutedEventArgs e)//图表一
{
DBServiceClient svc = new DBServiceClient();
if (c1.IsChecked == true) //勾选
{
svc.InsertStoreClickCompleted += new EventHandler<InsertStoreClickCompletedEventArgs>(svc_InsertStoreClickCompleted);
svc.InsertStoreClickAsync("XXX柱状图");//收藏
}
else//取消勾选
{
svc.DeleteClickCompleted += new EventHandler<DeleteClickCompletedEventArgs>(svc_DeleteClickCompleted);
svc.DeleteClickAsync("XXX柱状图");//取消收藏
}
}
(2)获取wcf 返回结果方法 , 调用js并弹出相应内容的提示框
private void svc_InsertStoreClickCompleted(object sender, InsertStoreClickCompletedEventArgs e)
{
int n = e.Result;
//CreateJSDemo();
if (n == 0)
{
HtmlPage.Window.Invoke("callJs", "收藏失败");
}
else
{
HtmlPage.Window.Invoke("callJs", "收藏成功");
}
}
private void svc_DeleteClickCompleted(object sender, DeleteClickCompletedEventArgs e)
{
int n = e.Result;
//CreateJSDemo();
if (n == 0)
{
HtmlPage.Window.Invoke("callJs", "取消收藏失败");
}
else
{
HtmlPage.Window.Invoke("callJs", "取消收藏成功");
}
}
(3)创建js方法
public void CreateJSDemo() // {
//InitializeComponent();
string jsText = @"function callJs(msg){alert(msg);}"; //function可以是在此处创建,也可以是已经在页面存在的function
HtmlElement element = HtmlPage.Document.CreateElement("Script");
element.SetAttribute("type", "text/javascript");
element.SetProperty("text", jsText);
HtmlPage.Document.Body.AppendChild(element);
}
CreateJSDemo()此方法可以在 本页面初始时调用即
public BeginHome()
{
InitializeComponent();
CreateJSDemo();
……
……
}
三、wcf 方法
(1)增加方法
[OperationContract]
[ServiceKnownType(typeof(ListItem))]
public int InsertStoreClick(string sChartName)
{
IDataBase oDB = DBFactory.GetDBInstance();
try
{
strUserid = "123456" ;
strAppid = "……";
if (strAppid == null || strUserid == null || sChartName == null)
{
return 0;
}
else
{
DataTable dt;
string sSQL = string.Format("select 1 from 表 where userid='{1}'and chartname='{2}'",
strUserid, sChartName);
dt = oDB.GetDataTable(sSQL);
if (dt.Rows.Count == 0)
{
oDB.BeginTran();
string insertSql = string.Format("insert into 表 (id, userid, chartname, createtime) values('{0}','{1}','{2}',SYSDATE)",
Guid.NewGuid(), strUserid, sChartName);
oDB.ExecuteNonQueryInTran(insertSql);
oDB.CommitTran();
return 1;
}
else
{
return 0;
}
}
}
catch (Exception ex)
{
oDB.EndTran();
throw new Exception("错误信息:" + ex.Message);
}
}
SilverLight 页面后台方法XX.xaml.cs 创建JS,调用JS ,弹出提示框的更多相关文章
- [转] 在Asp.net前台和后台弹出提示框
一.在前台弹出提示框 1.点击"A"标记或者"控件按钮"弹出提示框 <asp:LinkButton ID="lbtnDel" runa ...
- PHP弹出提示框并跳转到新页面即重定向到新页面
本文为大家介绍下使用PHP弹出提示框并跳转到新页面,也就是大家所认为的重定向,下面的示例大家可以参考下 这两天写一个demo,需要用到提示并跳转,主要页面要求不高,觉得没必要使用AJAX,JS等, ...
- iOS bug 之 H5 页面没有弹出提示框
描述:在安卓上有提示框,但是在iOS上没有提示框. step 1: 失误,是我没有在正确的位置设置网址. step 2: 修改之后,测试页能弹出提示框,但是正式的页面没有提示框. step 3: 我输 ...
- WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性和超链接点击弹出警示框
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值方式: href="地址?key=v ...
- silverlight visifire控件图表制作——silverlight 后台方法ControlChart.xaml.cs
一.构造方法ControlChart 1.前台页面控件赋值 //时间下拉框赋值,下拉框赋选定值 for (int ii = DateTime.Today.Year; ii ...
- 【转载】asp.net 后台弹出提示框
感觉这种最好用: public void showMessage(string str_Message) { ClientScript.RegisterStartupScript(this.GetTy ...
- asp.net 后台弹出提示框
1.后台弹出提示信息方法 Response.Write("<scripttype="text/javascript">alert('你所查询的数据不存在!') ...
- 最完美解决方案:js弹出窗口关闭当前页面,而不弹出提示框
该功能主要用于业务系统中的登录操作,登录后弹出全屏的业务系统主界面,而不需要工具栏.地址栏.菜单等功能. 之前针对不同浏览器找了无数种方法,包括网上能查到的所有方法,弹出的结果都不理想.结果有的IE6 ...
- 有关js弹出提示框几种方法
1直接提示只有确定功能的提示框 只显示提示信息 alert(“提示信息”); alert ();的参数只有一个就是提示信息,无返回值 2 弹出输入框让你输入内容 prompt() ; 有两个参数:第一 ...
随机推荐
- Xcode7国际化(根据系统语言切换App显示的语言) - 元宵节快乐!
老规矩, 上gif 下面是配置的大概流程: 这个是要显示中文的.strings文件的内容和格式 这个是要显示英文的.strings文件的内容和格式 下面是应用名部分: 然后下面是代码部分: impor ...
- python之6-2高阶函数
1. map函数 map(函数A,字符串或者列表) map函数的意思是将函数A依次作用到字符串的每个字符或者列表的每个元素. 例如: map(lambda x: x*x,[1,2]) [1, 4] 这 ...
- Activiti工作流学习-----基于5.19.0版本(4)
四.使用工作流开发 org.activiti.engine.ProcessEngine提供的Service作用在工作流引擎上面,如果所示是模仿一个公司简单的审批流程,你可以下载这个Demo:Activ ...
- iOS App 自定义 URL Scheme 设计(转自COCOACHINA)
在 iOS 里,程序之间都是相互隔离,目前并没有一个有效的方式来做程序间通信,幸好 iOS 程序可以很方便的注册自己的 URL Scheme,这样就可以通过打开特定 URL 的方式来传递参数给另外一个 ...
- NSNumber与NSInteger的区别 -bei
基本类型,如同C 语言中的 int 类型一样,拿来就可以直接用. 而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值. 类的初始化,需用类自身的方法 (类方法). 代码中所创建的对 ...
- 主题模型-LDA浅析
(一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似 ...
- web.xml 3.0头部模板
<?xml version=”1.0″ encoding=”UTF-8″?><web-appversion=”3.0″xmlns=”http://java.sun.com/xml/n ...
- Codeforces 527D Clique Problem
http://codeforces.com/problemset/problem/527/D 题意:给出一些点的xi和wi,当|xi−xj|≥wi+wj的时候,两点间存在一条边,找出一个最大的集合,集 ...
- openwrt l7过滤qos配置
openwrt l7过滤qos配置 电梯直达 1# 本帖最后由 木鸟 于 2010-7-27 10:22 编辑 openwrt的qos基于hsfc.提供了分类标记,流量控制等功能,可能还有整形 ...
- Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构与工作流程
网络爬虫是捜索引擎抓取系统的重要组成部分.爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份. 一个通用的网络爬虫的框架如图所示: