using System;
namespace test
{
/// <summary>
/// ScriptHelper 的摘要说明。
/// </summary>
/// <summary>
/// 提供一些产生页面脚本的方法
/// </summary>
public class ScriptHelper
{
/// <summary>
/// 获取客户端查看控件的脚本
/// </summary>
/// <param name="controlName"></param>
/// <returns>脚本代码</returns>
public ScriptHelper()
{
}
public static string GetViewControlScript(string controlName)
{
//创建客户端函数ViewObj
string script = "/n";
script += "<script language=/"javascript/">/n";
script += "function ViewObj(objName)/n";
script += "{/n";
script += "var obj = document.all.item(objName);/n";
script += "if (obj != null)/n";
script += "{/n";
script += "/tobj.scrollIntoView();/n";
script += "/tobj.focus();/n";
script += "}/n";
script += "}/n";
//创建客户端函数ToDo
script += "function ToDo()";
script += "{/n";
script += string.Format("setTimeout(/"ViewObj('{0}')/",1000);/n", controlName);
script += "}/n";
script += "window.onload = ToDo;/n";
script += "</script>/n";
return script;
}
}
}
使用示例:
为了方便输入脚本,我在页面上放了个Label:lblScript,并把lblScript的EnableViewState属性和Visible属性设成False。
然后在lblScrpt的Click事件的操作代码后添加输入脚本的代码,如下所示:
private void btnSave_Click(object sender, System.EventArgs e)
{
project.UpdateProjectInfo(ds);
lblScript.Text = ScriptHelper.GetViewControlScript("btnSave");
}
在点击btnSave按钮后,页面会自动滚动到btnSave的位置,减少了页面刷新带来的不便。