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

来源:互联网 发布:linux log4日志文件 编辑:程序博客网 时间:2024/05/18 16:36

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

 
原创粉丝点击