vs2010中如何使用ClientScriptManager?

szjarvis 2012-02-23 11:10:11
两个问题:

1. 想要达到2008中的ScriptManager.RegisterStartupScript效果,在页面上弹出提示对话框。
2. int i = 0;
return int.TryParse(str, out i); out i 这个是什么意思?


请知道的人赐教,谢谢。
...全文
239 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolfcome110 2014-08-22
  • 打赏
  • 举报
回复
参见一下这个吧 http://www.cnblogs.com/wolfocme110/p/3928547.html
ziyouli 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 szjarvis 的回复:]
受教了,对于是楼说的不是很明白,这个返回类型不是bool型嘛,为什么说转换成功,i就是要的值?
[/Quote]
返回值是bool没错,这个值是标志转换的结果是成功还是失败,至于i就是要的值,就是如果转化成功了,会把转为对应类型的值放到变量i中,比如你把字符串123用这方法转为int类型后,i的值就是123.
szjarvis 2012-02-23
  • 打赏
  • 举报
回复
受教了,对于是楼说的不是很明白,这个返回类型不是bool型嘛,为什么说转换成功,i就是要的值?
tan598121925 2012-02-23
  • 打赏
  • 举报
回复
int i=0;
if(int.TryParse("abc",out i)){转换成功,i就是要的值}
dingjian2008 2012-02-23
  • 打赏
  • 举报
回复
首先要搞清楚ref和out的区别,ref 要求参数在传递给函数前要初始化,out则不需要。
两者都是按地址传递的,使用后都将改变原来的数值。rel可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,rel是有进有出,out是只出不进。
ziyouli 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 ziyouli 的回复:]
引用 18 楼 szjarvis 的回复:
确实,项目建的是类库,这样不行吗? 如查继承Page是不是就可以了。

类库也可以,不过要先引用下System.Page。
[/Quote]
是System.Web
ziyouli 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 szjarvis 的回复:]
确实,项目建的是类库,这样不行吗? 如查继承Page是不是就可以了。
[/Quote]
类库也可以,不过要先引用下System.Page。
色拉油 2012-02-23
  • 打赏
  • 举报
回复
你都知道有ScriptManager这个类了
干嘛不再努力写,在网上搜搜相关知识呢
色拉油 2012-02-23
  • 打赏
  • 举报
回复
学习了[Quote=引用 1 楼 dingjian2008 的回复:]

首先要搞清楚ref和out的区别,ref 要求参数在传递给函数前要初始化,out则不需要。
两者都是按地址传递的,使用后都将改变原来的数值。rel可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,rel是有进有出,out是只出不进。
[/Quote]
a279417687 2012-02-23
  • 打赏
  • 举报
回复
你的页面是继承System.Web.UI.Page这个累不,你的提示框肯定是在页面的调用

/// 显示消息提示对话框
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
public static void Show(System.Web.UI.Page page, string msg)
{
page.ClientScript.RegisterStartupScript(typeof(string), "message", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>");
}

在asp.net调用类名.Show(this.Page,"成功")
szjarvis 2012-02-23
  • 打赏
  • 举报
回复
确实,项目建的是类库,这样不行吗? 如查继承Page是不是就可以了。
atmo 2012-02-23
  • 打赏
  • 举报
回复
你是不是在类文件里写这个代码
System.Web.UI 有这个命名空间吗 ?
szjarvis 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 a279417687 的回复:]
ClientScriptManager csm = Page.ClientScript;
csm.RegisterStartupScript(this.GetType(), "信息框", "成功");
}
[/Quote]

我的Page为什么带不出ClientScript?
提示非静态的字段、方法或属性 "System.Web.UI.Page.ClientScript.get"要求对象引用
a279417687 2012-02-23
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Yasn.SCS.Web
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager csm = Page.ClientScript;
csm.RegisterStartupScript(this.GetType(), "信息框", "成功");
}
}
}
szjarvis 2012-02-23
  • 打赏
  • 举报
回复

using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;

namespace WebCommon
{
public class Function
{
/// <summary>
/// 弹出一警告对话框
/// </summary>
/// <param name="update">类型</param>
/// <param name="str_Message">对话框提示内容</param>
public void Alert(Control update, string str_Message)
{
// 此方法仅适用于 .Net Framework 3.5
ScriptManager.RegisterStartupScript(update, this.GetType(), "start", "alert('" + str_Message + "');", true);

}
}
}


此代码在3.5上正常用,4.0就提示当前上下文不存在名称ScriptManager.
a279417687 2012-02-23
  • 打赏
  • 举报
回复
ClientScriptManager csm = Page.ClientScript;
csm.RegisterStartupScript(this.GetType(), "信息框", "成功");
}
szjarvis 2012-02-23
  • 打赏
  • 举报
回复
我是要写一个通用的提示框,下面的代码是以前在3.5中用得很正常,可在4.0中就不行了,提示当前上下文不存在名称ScriptManager.


using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;

namespace WebCommon
{
public class Function
{
/// <summary>
/// 弹出一警告对话框
/// </summary>
/// <param name="update">类型</param>
/// <param name="str_Message">对话框提示内容</param>
public void Alert(Control update, string str_Message)
{
// 此方法仅适用于 .Net Framework 3.5
//ScriptManager.RegisterStartupScript(update, this.GetType(), "start", "alert('" + str_Message + "');", true);

}

}
}
二当家 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 szjarvis 的回复:]
两个问题:

1. 想要达到2008中的ScriptManager.RegisterStartupScript效果,在页面上弹出提示对话框。
2. int i = 0;
return int.TryParse(str, out i); out i 这个是什么意思?


请知道的人赐教,谢谢。
[/Quote]
ScriptManager
TryParse

MSDN上都有 为什么不肯去查查呢
porschev 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 szjarvis 的回复:]

10中没有ScriptManager这个类,只有ClientScriptManager类,但ClientScriptManager又没有RegisterStartupScript方法;

我在网上查了一下,我看有人这样用:
ClientScriptManager csm = Page.ClientScript.... 后面怎么写忘了。

但我的Page类中没有ClientScript……
[/Quote]

那怎么会没有这个类呢??

ScriptManager.RegisterStartupScript(this.ScriptManager1, this.GetType(), "", "<script>alert('我弹')</script>",false);



Page你也没有,你还是上代码吧。。。。。

你的页面类不是继承自 System.Web.UI.Page??、
szjarvis 2012-02-23
  • 打赏
  • 举报
回复
10中没有ScriptManager这个类,只有ClientScriptManager类,但ClientScriptManager又没有RegisterStartupScript方法;

我在网上查了一下,我看有人这样用:
ClientScriptManager csm = Page.ClientScript.... 后面怎么写忘了。

但我的Page类中没有ClientScript这东东,怎么办?
加载更多回复(4)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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