高分求解:为String对象定义一个trim方法:
似乎很简单,仅仅为String对象定义一个trim方法,在asp环境下顺利执行,但保存为str.aspx就不行了!
在第八行出错:
<%@ LANGUAGE='JAVASCRIPT'%>
<%
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
var s = " leading and trailing spaces ";
Response.Write(s.replace(/ /g,"_") + " (" + s.length + ")<br/>");
s = s.trim(); //编译器错误消息: JS1151: “System.String”类型的对象没有这样的成员
Response.Write(s.replace(/ /g,"_") + " (" + s.length + ")<br/>");
%>
为什么?为什么?为什么?
本人就是要在asp.net下实现这样的功能!
[color=#FF0000]
高分求解!高人速来![/color]
------解决方案--------------------
String.prototype.trim = function() {
return this.replace(/^[\s\n]+
------解决方案--------------------
[\s\n]+$/g, '');
};
------解决方案--------------------aspx是。net的,string对象默认就有trim方法了。不用扩展
string s=" xxxx ";
s=s.Trim();
------解决方案--------------------String.prototype.trim=function(){
return this.replace(/^\s+/,"").replace(/\s+$/,"");
}
试试
------解决方案--------------------.net 环境下,System.String 有Trim 函数。注意T要大写.
不是 trim, 而是 Trim. (It's case sensitive!)
不用自己定义。
------解决方案--------------------先搞清楚 javascript 和asp.net
一个运行在服务器,一个运行在浏览器。
------解决方案--------------------
asp中jscript,aspx是j#,已经不是jscript,楼主先搞清楚使用环境先。
除非你将iis中aspx的处理程序设置为C:\WINDOWS\system32\inetsrv\asp.dll,而不是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,应该就可以运行了
------解决方案--------------------
如果我要给Date对象添加一个原型方法,应该如何添加?上述这个例子主要是给String对象添加一个原型方法trim()而非Trim()!在.net环境下如何为系统内置对象添加原型方法?
------解决方案--------------------扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。
最常见的扩展方法是添加查询功能添加到现有 System.Collections.IEnumerable 和 System.Collections.Generic.IEnumerable<T> 类型的 LINQ 标准查询运算符。若要使用标准查询运算符,请首先将它们输入与using System.Linq 指令的大小。 然后,任何实现了 IEnumerable<T> 的类型看起来都具有 GroupBy、 OrderBy、 Average 等实例方法。 在 IEnumerable<T> 类型的实例(如 List<T> 或 Array)后键入“dot”时,可以在 IntelliSense 语句完成中看到这些附加方法。