在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");
<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");
相关文章推荐
- 在Asp.net中如何关闭网页,另外如何使文本框获得焦点
- 在asp.net中如何用javascript读取本地Xml中的数据到网页中的文本框?
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- 如何在asp.net实现文本框焦点自动跳转及通过回车键提交表单
- ASP.net中,如何让一个文本框得到焦点
- ASP.net中,如何让一个文本框得到焦点
- ASP.NET中页面加载时文本框内有文字获得焦点时文字消失
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- :如何用C#在Asp.net中实现打开新网页而不关闭当前页
- ASP.NET中如何让一个服务期端输入框获得焦点?
- 一个ASP.NET控件元素如何获得焦点的问题
- 在ASP.NET登录页面中如何实现文本框焦点自动跳转及通过回车键提交表单
- ASP.NET中页面加载时文本框(texbox控件)内有文字获得焦点时文字消失
- 如何在asp.net网页播放avi视频
- asp.net如何把文件上传到另外一台服务器
- 如何:为 ASP.NET 网页全球化设置区域性和 UI 区域性