分类目录归档:ASP.NET

Server.Htmlencode和Server.HtmlDecode的用法

Server.Htmlencode的用法 
一.HTMLEncode 方法对指定的字符串应用 HTML 编码。
语法
Server.HTMLEncode( string ) 
参数
string
指定要编码的字符串。
示例
脚本
<%= Server.HTMLEncode(“The paragraph tag: <P>”) %>
输出
The paragraph tag: &lt;P&gt;
注意 以上输出将被 Web 浏览器显示为
The paragraph tag: <P>
如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的 HTML
二.相关例子解析:
rs(“content”)=Server.Htmlencode(Request(“content”)) :
rs(“content”)的意思是说,rs是一个recordset对象,content是数据库表中的一个字段;recordset对象可以操作数据库表的每一条记录,以及其中的每个字段.
Server.Htmlencode的作用:是把某些代码转换成html格式的.
Request(“content”)是指:返回的上个页面里有一个名字为content的元素的值;它可能是表单里的某个文本框,也有可能是个querystring型的东西
但是从名字和习惯来判断,它是一个表单的多行文本框,因为它是放置内容用的.

整体意思是它把上个递交页面传来的文本框里的值,放在数据库中现在打开的记录中的content字段中

Server.HTMLDecode的用法
一.HTMLDecode 方法对指定的字符串应用 HTML 反编码。
语法
Server.HTMLDecode( string ) 
参数
string
指定要反编码的字符串。

使用Server.HtmlEncode和Server.HTMLDecode需要导入什么命名空间。

1、添加程序集引用  %SystemRoot%Microsoft.netFrameworkv2.0.50727System.Web.dll
2、调用方法System.Web.HttpUtility.HtmlEncode(j) 即可。

c# 获取html页面的html代码

/// <summary>
        /// 获取html页面的html代码 
        /// </summary>
        /// <param name="Url">源网址</param>
        /// <returns>返回html代码</returns>
        public string GetHttpData(string Url)
        {
            string sException = null;
            string sRslt = null;
            WebResponse oWebRps = null;
            WebRequest oWebRqst = WebRequest.Create(Url);
            oWebRqst.Timeout = 50000;
            try
            {
                oWebRps = oWebRqst.GetResponse();
            }
            catch (WebException e)
            {
                sException = e.Message.ToString();
                MessageBox.Show(sException);
            }
            catch (Exception e)
            {
                sException = e.ToString();
                MessageBox.Show(sException);
            }
            finally
            {
                if (oWebRps != null)
                {
                    StreamReader oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("GB2312"));
                    sRslt = oStreamRd.ReadToEnd();
                    oStreamRd.Close();
                    oWebRps.Close();
                }
            }
            return sRslt;
        }

InnerHtml无法获取内部内容,因为该内容不是文本

在后台获取dataDiv的innerHtml时,
如果直接写dataDiv.innerHtml,而dataDiv有runat=server的控件,就会报错,
因此需要用下面的方法来实现。
1.添加一个方法
    public override void VerifyRenderingInServerForm(Control control)
    {
    } 
2.在需要取到innerHtml的地方写代码如下
        System.Text.StringBuilder strb = new System.Text.StringBuilder();
        System.IO.StringWriter sw = new System.IO.StringWriter(strb);
        System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
        dataDiv.RenderControl(htw);
        string str = strb.ToString();//str即为所需值。

来自:http://apps.hi.baidu.com/share/detail/48942033

ASP.NET多种调用javascript脚本的方法

ASP.NET本身就提供了多种调用javascript脚本的方法,笔者在这里总结了六种调用方法,大家可以根据自己的使用习惯选择相应的调用方式了!

1、直接在前台页面调用自定义的javascript 函数:

很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 ” text/javascript ”

如:

<head runat=”server”>
<script type=”text/javascript” >
function ShowName(str)
{
alert(“十万个为什么的站长是:(“+str+”)”);
}
</script>
<title>using javascript</title>
</head>

之后在body 元素间,通过事件来访问,比如要通过button1 的单击事件(onclientclick)来访问 javascript 函数的ShwoName()的示例如下:

<asp:Button ID=”Button1″ runat=”server” Text=”Button” onclientclick=”ShowName(‘伍锐锋’)” />

这时运行项目,单击 button时,会显示”十万个为什么,的站长是:伍锐锋”
这就是在前端页面直接定义及调用javascript函数.

2、在前台通过引入js文件来调用相应的函数:

方法与(1)一样,只不过需要指定要调用的js 文件

示例如下:

<head runat=”server”>
<script type=”text/javascript” src=”kenscript.js”>
</script>
<title>using javascript</title>
</head>

之后在body 元素间,通过事件来访问, 比如要通过button1 的单击事件(onclientclick)来访问 javascript 函数的示例如下:

//此时 .js文件中必须有 ShowName 方法

<asp:Button ID=”Button1″ runat=”server” Text=”Button” onclientclick=”ShowName(‘伍锐锋’)” />

3、在后台调用 javascript 函数,函数在.js文件中

前台的head 元素

<head runat=”server”>
<script type=”text/javascript” src=”kenscript.js”>
</script>
<title>using javascript</title>
</head>

后台的需要添加如下代码

Button1.Attributes.Add(“onclick”, “showname1(‘伍锐锋’)”);

4、在后台调用 javascript 函数,函数写在对应的js文件中,但并没有在前台定义,示例如下:

//获得.js文件

string myscript = “kenscript.js”;

//注册.js文件

Page.ClientScript.RegisterClientScriptInclude(“myKey”, myscript);

如果此时查看源码,会得到如下代码

//<script src =”kenscript.js” type=”text/javascript”><script>

//同上
Button1.Attributes.Add(“onclick”, “showname1(‘伍锐锋’)”);

5. 用Response.Write方法写入脚本

比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
Response.Write(“<script type=’text/javascript’>alert(“操作完成!”);</script>”);

不过呢,这个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上 函数定义,比如Response.Write(“<script type=’text/javascript’>function myfun(){…}</script>”);

6.用ClientScript类动态添加脚本

用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。

ClientScript.RegisterStartupScript(ClientScript.GetType(), “myscript”, “<script>MyFun();</script>”);

这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数,不过跟前面几种相比没那么简洁直观。

注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如Redirect等,要把转页代码放在脚本里面.

http://blog.sina.com.cn/s/blog_67e0571d0100m8vn.html

 

asp.net分页,ASPNETPager用法

1.添加DLL引用,文件名为:AspNetPager.dll。
2.在aspx文件中添加<%@ RegisterAssembly=”AspNetPager” Namespace=”Wuqi.Webdiyer”TagPrefix=”webdiyer” %>代码,下面是分页样式代码:

<div id=”PagerStyle”>
<webdiyer:AspNetPager ID=”AspNetPager1″runat=”server” OnPageChanging=”AspNetPager1_PageChanging”Width=”95%” PageSize=”20″ AlwaysShow=”True” FirstPageText=”首页”LastPageText=”尾页” NextPageText=”下一页” PrevPageText=”上一页”ShowCustomInfoSection=”Left” ShowInputBox=”Never”CustomInfoTextAlign=”Right”CssClass=”paginator”
CurrentPageButtonClass=”cpb” CustomInfoHTML=”当前第 %CurrentPageIndex%/ %PageCount% 共 %PageCount%页 每页 %PageSize% 条记录”AlwaysShowFirstLastPageNumber=”True”LayoutType=”Table”>
</webdiyer:AspNetPager>
</div>

3.在CS文件中写using Wuqi.Webdiyer;
4.获取数据源,下面是获得数据的一个方法,BLL.Trunk.GetAllList方法是一个封装过的方法,返回一个DataSet结果集,这个方法自己写就可以,这是来自项目中的代码:

private void LoadData()
{
DataSet ds =BLL.Trunk.GetAllList();
PagedDataSource pds = newPagedDataSource();
pds.AllowPaging =true;//设置允许分页
pds.DataSource =ds.Tables[0].DefaultView;//设置分页的数据源
AspNetPager1.RecordCount = pds.Count;//AspNetPager1.RecordCount =ds.Tables[0].DefaultView.Count;等价//获取数据的条数
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex -1;//设置当前页的索引
pds.PageSize =AspNetPager1.PageSize;//设置每页显示的页数
gvData.DataSource = pds;
gvData.DataBind();
}

5.事件分页改变代码:

protected void AspNetPager1_PageChanging(object src,PageChangingEventArgs e)
{
this.AspNetPager1.CustomInfoHTML = string.Format(“当前第{0}/{1}页共{2}条记录 每页{3}条”, new object[] { this.AspNetPager1.CurrentPageIndex+ 1, this.AspNetPager1.PageCount, this.AspNetPager1.RecordCount,this.AspNetPager1.PageSize});
AspNetPager1.CurrentPageIndex =e.NewPageIndex;
LoadData();
}

http://www.cnblogs.com/chinawinner/archive/2011/01/20/tt144.html