飞艳小屋

程序--人生--哲学___________________欢迎艳儿的加入

BlogJava 首页 新随笔 联系 聚合 管理
  52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks
补充一下 开始先导入 nam......
补充一下 开始先导入
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");

好了 你自己试试看吧


关闭网页调用javascrip......
关闭网页调用javascript
<script lang="text/javascript">
window.close();
</script>
获得焦点 在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); 
}
}
}

实际上就是在codebehide 调用javascript 来袮补C# 中不能获得焦点不足
请多指教啊  多多交流啊

posted on 2005-12-08 14:52 天外飞仙 阅读(3891) 评论(0)  编辑  收藏 所属分类: .net

只有注册用户登录后才能发表评论。


网站导航: