易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : asp.net

asp.net性能优化的几个方面

c#(或vb.net)程序改进
1、使用值类型的ToString方法
  在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。
  使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。
int num=1;
string str="go"+num.ToString();
2、运用StringBuilder类
  String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。
  在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过ToString方法返回操作结果。
  其定义及操作语句如下所示:
int num;
System.Text.StringBuilder str = new System.Text.StringBuilder(); //创建字符串
str.Append(num.ToString()); //添加数值num
R ......

运行 ASP.NET 的进程帐户必须具有IIS 元数据库权限

问题:
用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。
出现此问题多是因为先装.net framework后装IIS 造成
解决方法:
开始->程序->Microsoft .NET Framework SDK v2.0->SDK 命令提示
输入
aspnet_regiis   -i  回车
---OVER--- ......

实现从弹出窗口中选择值 (asp.net C#)

在Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。
  测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox1用于接收从子页面传回的值。
  Button1的代码如下:
以下为引用的内容:
  StringBuilder s = new StringBuilder();
  s.Append(" ");
  Type cstype = this.GetType();
  ClientScriptManager cs = Page.ClientScript;
  string sname = "lt";
  if (!cs.IsStartupScriptRegistered(cstype, sname))
  cs.RegisterStartupScript(cstype, sname, s.ToString());
  Default2.aspx页面内有一个CheckBoxList1及一个Button1,Button1执行返回选择的CheckBoxList1的值,并将当前页面关闭。
  代码如下:
以下为引用的内容:
  protected void Button1_Click(object sender, EventArgs e)
  {
  StringBuilder s = new StringBuilder();
  s.Append(" ");
  Type cs ......

实现从弹出窗口中选择值 (asp.net C#)

在Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。
  测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox1用于接收从子页面传回的值。
  Button1的代码如下:
以下为引用的内容:
  StringBuilder s = new StringBuilder();
  s.Append(" ");
  Type cstype = this.GetType();
  ClientScriptManager cs = Page.ClientScript;
  string sname = "lt";
  if (!cs.IsStartupScriptRegistered(cstype, sname))
  cs.RegisterStartupScript(cstype, sname, s.ToString());
  Default2.aspx页面内有一个CheckBoxList1及一个Button1,Button1执行返回选择的CheckBoxList1的值,并将当前页面关闭。
  代码如下:
以下为引用的内容:
  protected void Button1_Click(object sender, EventArgs e)
  {
  StringBuilder s = new StringBuilder();
  s.Append(" ");
  Type cs ......

ASP.NET跨页面传值技巧总结

关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。
1.  使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
    string s_url;
    s_url = "b.aspx?name=" + Label1.Text;
    Response.Redirect(s_url);
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    Label2.Text = Request.QueryString["name"];
}
2.  使用Application 对象变量
Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
    Application["name"] = Label1.Text;
    Se ......

ASP.NET AJAX 中,用 JavaScript 调用服务器端的方法

这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限。
那么,调用一般的服务器端方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。
首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:
<asp:LinkButton ID="linkUpdatePosts" runat="server" style="display:'none';" OnClick
="linkUpdatePosts_Clicked" />
    // 刷新帖子列表(供客户端 js 调用)
    protected void linkUpdatePosts_Clicked(object sender, EventArgs e)
    {
        LoadPosts();
    }
然后 JavaScript 中就可以定义函数来触发这个 LinkButton 的回发:
    // 刷新帖子列表
    function refreshPosts() {
        __doPostBack ......

ASP.NET AJAX 中,用 JavaScript 调用服务器端的方法

这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限。
那么,调用一般的服务器端方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。
首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:
<asp:LinkButton ID="linkUpdatePosts" runat="server" style="display:'none';" OnClick
="linkUpdatePosts_Clicked" />
    // 刷新帖子列表(供客户端 js 调用)
    protected void linkUpdatePosts_Clicked(object sender, EventArgs e)
    {
        LoadPosts();
    }
然后 JavaScript 中就可以定义函数来触发这个 LinkButton 的回发:
    // 刷新帖子列表
    function refreshPosts() {
        __doPostBack ......

ASP.NET AJAX 中,用 JavaScript 调用服务器端的方法

这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限。
那么,调用一般的服务器端方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。
首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:
<asp:LinkButton ID="linkUpdatePosts" runat="server" style="display:'none';" OnClick
="linkUpdatePosts_Clicked" />
    // 刷新帖子列表(供客户端 js 调用)
    protected void linkUpdatePosts_Clicked(object sender, EventArgs e)
    {
        LoadPosts();
    }
然后 JavaScript 中就可以定义函数来触发这个 LinkButton 的回发:
    // 刷新帖子列表
    function refreshPosts() {
        __doPostBack ......

asp.net的常用代码

 
0.用session判断是否登陆
if(Session["login"] == null)
   {
    Response.Redirect("error.aspx");
   }
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>")
接收参数:
string a  = Request.QueryString("id");
string b  = Request.QueryString("id1");
2.为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm('确认?')");
button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}")
3.删除表格选定记录
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4.删除表格记录警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
  case ListItemType.Item :
  case ListItemType.AlternatingItem :
  case ListItemType.EditItem:
&n ......
总记录数:2672; 总页数:446; 每页6 条; 首页 上一页 [302] [303] [304] [305] 306 [307] [308] [309] [310] [311]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号