结合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 源代码网供稿. |
