首页
关于我们
服务项目
作品展示
服务支持
联系我们
友情链接
网站地图
 您当前位置:网络学院 -> 编程开发系-> 编程开发-> Asp.net教程
结合MS AJAX将资源文件编译到动态链接库
作者:admin 来源:网络
日期: 2007-2-27
站内搜索
文章页数:[1] 

一、创建类库项目LocalizingScriptResources。

二、添加System.Web 和 System.Web.Extensions命名控件引用。

三、添加一个Jscript文件。

四、将如下代码加入到js文件中:

function CheckAnswer()

{

var firstInt = $get('firstNumber').innerText;

var secondInt = $get('secondNumber').innerText;

var userAnswer = $get('userAnswer');

if (parseInt(firstInt)+parseInt(secondInt) ==userAnswer.value)

{

alert(Answer.Correct);

return true;

}

else

{

alert(Answer.Incorrect);

return false;

}

}

五、右键js文件的属性,在高级里将“生成操作”设置成“嵌入的资源”。

六、添加类ClientVerification代码如下:

using System;

using System.Collections.Generic;

using System.Text;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Resources;

namespace LocalizingScriptResources

{

public class ClientVerification : Control

{

private Button _button;

private Label _firstLabel;

private Label _secondLabel;

private TextBox _answer;

private int _firstInt;

private int _secondInt;

protected override void CreateChildControls()

{

Random random = new Random();

_firstInt = random.Next(0, 20);

_secondInt = random.Next(0, 20);

ResourceManager rm = new ResourceManager("LocalizingScriptResources.VerificationResources", this.GetType().Assembly);

Controls.Clear();

_firstLabel = new Label();

_firstLabel.ID = "firstNumber";

_firstLabel.Text = _firstInt.ToString();

_secondLabel = new Label();

_secondLabel.ID = "secondNumber";

_secondLabel.Text = _secondInt.ToString();

_answer = new TextBox();

_answer.ID = "userAnswer";

_button = new Button();

_button.ID = "Button";

_button.Text = rm.GetString("Verify");

_button.OnClientClick = "return CheckAnswer();";

Controls.Add(_firstLabel);

Controls.Add(new LiteralControl(" + "));

Controls.Add(_secondLabel);

Controls.Add(new LiteralControl(" = "));

Controls.Add(_answer);

Controls.Add(_button);

}

}

}

上边的代码创建了一个ASP.NET控件。这个控件包含两个文本框、一个Label控件,和一个按钮。Label控件用来显示两个随机的数字,往文本框里输入这两个数字的和,点击按钮就会调用CheckAnswer函数。

七、向项目中添加一个资源文件VerificationResources.resx。

八、添加三个字符串资源,如下:

名称 值

Correct Yes, your answer is correct。

Incorrect No, your answer is incorrect。

Verify Verify Answer

九、重复七、八的步骤,添加两个资源文件VerificationResources.it.resx、VerificationResources.it.resx、VerificationResources.zh-cn.resx,给这几个键添加不同语言的值。

名称 值

Correct Si, la risposta e’ corretta.

Incorrect No, la risposta e’ sbagliata.

Verify Verificare la risposta

Correct 答案正确。

Incorrect 答案错误。

Verify 检查答案

十、向AssemblyInfo文件中添加如下行。

[assembly: System.Web.UI.WebResource("LocalizingScriptResources.CheckAnswer.js", "application/x-javascript")]

[assembly: System.Web.UI.ScriptResource("LocalizingScriptResources.CheckAnswer.js", "LocalizingScriptResources.VerificationResources", "Answer")]

由于在js函数中我们引用了Answer所以这里就只能是Answer,当然也可以叫做别的。

十一、编译程序。

测试程序:

一、在解决方案中添加一个AJAX-enabled WEB应用程序,添加项目引用。或新建一个AJAX-enabled WEB应用程序,将上一个项目生成的动态连接库复制到新项目的BIN下,然后添加引用。

二、将如下代码覆盖Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register TagPrefix="Samples" Namespace="LocalizingScriptResources" Assembly="LocalizingScriptResources" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

<title>Client Localization Example</title>

</head>

<body>

<form id="form1" runat="server">

<asp:ScriptManager ID="ScriptManager1" EnableScriptLocalization="true" runat="server">

<Scripts>

<asp:ScriptReference Assembly="LocalizingScriptResources" Name="LocalizingScriptResources.CheckAnswer.js" />

</Scripts>

</asp:ScriptManager>

<asp:DropDownList runat="server" AutoPostBack="true" ID="selectLanguage" OnSelectedIndexChanged="selectLanguage_SelectedIndexChanged">

<asp:ListItem Text="English" Value="en"></asp:ListItem>

<asp:ListItem Text="Italian" Value="it"></asp:ListItem>

<asp:ListItem Text="中文中国" Value="zh-CN"></asp:ListItem>

</asp:DropDownList>&nbsp;<br /><br />

<div>

<Samples:ClientVerification ID="xx" runat="server" ></Samples:ClientVerification>

</div>

</form>

</body>

</html>

后台代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (IsPostBack)

{

System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture(selectLanguage.SelectedValue);

}

else

{

selectLanguage.Items.FindByValue(System.Threading.Thread.CurrentThread.CurrentUICulture.ToString()).Selected = true;

}

}

protected void selectLanguage_SelectedIndexChanged(object sender, EventArgs e)

{

System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture(selectLanguage.SelectedValue);

}

}

编译项目,看下运行结果。

文章页数:[1] 
放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·在Asp.net用C#建立动态Excel
·ASP.NET中常用的js代码
·asp.net2.0如何加密数据库联接字符串
·ASP.NET数据库编程快速入门之技术慨述
·投票结果的图片进度条显示
·ASP.NET 程序中常用的三十三种代码
·ASP.NET:页面缓存
·细节决定成败 ASP.NET中的蝴蝶效应
·.NET 2.0数据绑定原理
·让ASP.NET简便使用SCRIPT
最新文章
·使ASP.NET中的数据库操作变得简单
·ASP.NET中文件上传下载方法集合
·ASP.NET 程序中常用的三十三种代码
·ASP.NET数据库编程快速入门之技术慨述
·ASP.NET 2.0 中的创建母版页
·ASP.NET 2.0中创建内容页
·ASP.NET2.0数据库入门之SqlDataSource
·投票结果的图片进度条显示
·在Asp.net用C#建立动态Excel
·VS2005和ASP.NET2.0中使用强类型数据
相关主题
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: