已发现C#自身问题!!!

chinaybk 2004-12-21 11:23:35
各位老大:试试这个便知!
在一个页面上拖放一个DropDownList1(属性AutoPostBack设为:true),再放一个TextBox1(属性Enabled设为:false),单独浏览此页面时DropDownList1的选择索引改变能使TextBox1启用并获得焦点,
但是你把此页面放在框架中时就不能实现一样效果。这是为什么?

private void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1.Enabled=true;
setFocus(TextBox1); //自定义函数
}

public void setFocus( System.Web.UI.Control ctrl) //让控件取得焦点
{
string s = "<SCRIPT language='javascript'>document.getElementById('" + ctrl.ID + "').focus()</SCRIPT>";
RegisterStartupScript( "focus", s );
}
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbwolfcool 2004-12-22
  • 打赏
  • 举报
回复
mark
student963 2004-12-22
  • 打赏
  • 举报
回复
告诉我Email,我发类似的给您
jimh 2004-12-21
  • 打赏
  • 举报
回复
当然是你的问题,应该使用
string s = "<SCRIPT language='javascript'>document.getElementById('" + ctrl.ID + "').focus()</SCRIPT>";
RegisterStartupScript( "focus", s );

ctrl.ID 有错,应该使用ctrl.ClientID
chinaybk 2004-12-21
  • 打赏
  • 举报
回复
是我的问题吗?
mademelaugh 2004-12-21
  • 打赏
  • 举报
回复
我是一菜鸟。
但楼主的贴名未免太不负责。
chinaybk 2004-12-21
  • 打赏
  • 举报
回复
我把问题说得更清楚一点:

在页面main.aspx上拖放一个DropDownList1(属性AutoPostBack设为:true),再拖放一个TextBox1(属性Enabled设为:false),单独浏览页面main.aspx时DropDownList1的选择索引改变能使TextBox1启用并获得焦点,但是你把此页放在含框架的home.htm中浏览home.htm时就不能实现一样效果。这是为什么?

private void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1.Enabled=true;
setFocus(TextBox1); //自定义函数
}

public void setFocus( System.Web.UI.Control ctrl) //让控件取得焦点
{
string s = "<SCRIPT language='javascript'>document.getElementById('" + ctrl.ID + "').focus()</SCRIPT>";
RegisterStartupScript( "focus", s );
}

//以下是home.htm文件内容
<html>
<head>
</head>
<frameset rows="10%,*,10%">
<frame name="top" src="">
<frame name=main src="main.aspx">
<frame name="bottom" src="">
</frameset>
</html>

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧