您的位置:首页 > 编程语言 > ASP

在Asp.net中如何关闭网页,另外如何使文本框获得焦点

2006-12-21 11:31 567 查看
关闭网页调用javascript
<script lang="text/javascript">
window.close();
</script>

或者: 在Page_Load里加入: this.Button1.Attributes.Add("onclick","window.close();");

获得焦点 在C#中新建一个类
例如:
sing System;
using System.Text;
using System.Web;
using System.Web.UI;
namespace Application
{
/// <summary>
/// 获取焦点类
/// </summary>
public class Focus
{
public Focus()
{
}
//设置成一个静态的方法,这样在使用的时候不用创建一个实例对象,直接采用Focus.SetFocus(this, "Button2")的形式进行调用。
public static void SetFocus(System.Web.UI.Page page, String m_focusedControl)
{
//如果控件名称为空,则返回
if(m_focusedControl == "")
return;
//添加脚本以声明函数
StringBuilder sb = new StringBuilder("");
sb.Append("<script language=javascript>");
sb.Append("function ");
sb.Append("setFocusFunctionName");
sb.Append("(ctl) {");
sb.Append("if(document.forms[0][ctl] != null) ");//如果不为空,则设置焦点,这里调用的Javascript里面的方法
sb.Append(" document.forms[0][ctl].focus();" );
sb.Append("}");

//添加脚本以调用函数
sb.Append("setFocusFunctionName");
sb.Append("('");
sb.Append(m_focusedControl);
sb.Append("');");
sb.Append("</");
sb.Append("script>");

if (!page.IsStartupScriptRegistered("SetFocusScriptName"))
page.RegisterStartupScript("SetFocusScriptName", sb.ToString());//将这段javascript代码写到页面中去
}
/// <summary>
/// 设置在页面回车时触发事件的控件
/// </summary>
/// <param name="Ctrl">将触发事件的控件对象</param>
public static void SetEnterControl(System.Web.UI.Control Ctrl)
{
Page mPage = Ctrl.Page;
string mScript;
mScript = @"<script language=""javascript"">
function document.onkeydown()
{
var e = event.srcElement;
var k = event.keyCode;
if (k == 13 && e.type != ""textarea"")
{
document.all." + Ctrl.ClientID + @".click();
event.cancelBubble = true;
event.returnValue = false;
}
}
</script>";
if(!mPage.IsClientScriptBlockRegistered("SetEnterControl"))
mPage.RegisterClientScriptBlock("SetEnterControl",mScript);
}
}
}

补充一下 开始先导入
namespace
using System.Text;
using System.Web.UI;

在web 页面中
通过调用Focus类中的方法实现获取焦点的目的 可以放在Page_Load(,)中实现 也可以在Button_click事件中实现
我用的是Button_Click时间
代码如下
//TextBox1是要获得焦点的控件的ID
Focus.SetEnterControl(this.TextBox1);
Focus.SetFocus(TextBox1.Page,"TextBox1");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: