位置:海鸟网 > IT > JavaScript >

结合MS AJAX将资源文件编译到动态链接库

一、创建类库项目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