asp.net常有小方法整理

来源:互联网 发布:做淘宝电脑要什么配置 编辑:程序博客网 时间:2024/05/09 01:26

 

  =================================<1>页面控制  ======================================
 <script type ="text/javascript"  src="../js/Calendar.js"charset ="gb2312"></script>
  <input ID="Text1" type="text" runat="server" onfocus="calendar()"/>
<!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">-->不能有
首先防止F5刷新比较好办,写下面的js代码即可:

关键是如何屏蔽IE工具拦上的刷新按纽,后来受到一些资料的启发终于找到了解决的方法,把下面代码插入到代码中:

Response.Write("<script language='javascript'>open('test.aspx','在线考试','resizable=0,status=no,toolbar=no,location=no,menul=no')</" & "script>")

这段代码是屏蔽IE工具拦的,没了IE工具拦,就可以达到防止刷新的目的。

防右键,复制

==========================《2》页面刷新===========================

asp.net页面刷新重是有问题,收藏几种方法挺有用的.

第一:

第二:

第三: 
 
第四:

第五:(需替换<>)

第六:

===========================《3》页面跳转===========================================
1、
用window.location.href实现刷新另个框架页面 (转载自 仰天一笑)转载自 仰天一笑
在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们经常使用Response.Redirect ,如果客户要在跳转的时候使用提示,这个就不灵光了,如:

Response.Write("<script>alert('恭喜您,注册成功!');</script>");
Response.Redirect("main.html");

这时候我们的提示内容没有出来就跳转了,和Response.Redirect("main.html");没有任何区别。
2、
这时我们采用下面代码试验一下:

Response.Write("<script language=javascript>alert('恭喜您,注册成功!')</script>");
Response.Write("<script language=javascript>window.location.href='main.html'</script>");

这个即实现了我们的要求,在提示后,跳转页面。

最重要的是window.location.href 语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面(Response.Redirect无法达到,至少我没有发现):

如:index.htm页面中有二个框架,分别为 frameLeft和frameRight,在frameRight页面中执行服务器端代码后刷新frameLeft中的页面。
3、
先前最常见的是注册之后,自动刷新登陆框,让登陆框换成已登陆页面,只要在注册成功的代码之后加上一段,即可以实现刷新另个框架的页面。代码如下:

Response.Write("<script language=javascript>alert('恭喜您,注册成功!')</script>");
Response.Write("<script language=javascript>window.parent.frameLeft.location.href='main.html'</script>");

4、WebMessage 为自定义类
WebMessage message3 = new WebMessage("提示!", "对不起,您没有此项操作的权限!<a href=/"Default.aspx/">[转到管理中心]</a>", "ok.gif", HttpContext.Current.Request.Url.PathAndQuery);
message3.SaveMessage(message3);
base.Response.Redirect("message.aspx");
5、
  msg.Text = ("<script>window.location.href='message.aspx';alert(/"对不起,您已超出修改时间!/")</script>");
6.Response.Write ("<script>alert('超时,请重新登录');top.location.href='../userpass.aspx';</script>");


7.Response.Write("<script>history.go(-1)</script>")改为
this.Page.ClientScript.RegisterStartupScript(this.GetType(),"goback","history.go(-1)",true);
或者直接放一个Html按钮,在其onclick事件里直接写
onclick="window.history.back();"也可以退回到上一页


==============================《4》弹出确认=================================

 1、
<img onClick="{if(confirm('对不起,您没有对此院校留言的权限,请联系酒店人才网!服务热线:0755-28984199'))return true;}" src="/images_new/ly2_gray.gif" border="0">
2、
 Page.RegisterStartupScript("", "<script>alert('你不能增加同名的文种名称!');</script>");

   if (Session["userid"]==null)
   {
    Response.Write ("<script>alert('超时,请重新登录');top.location.href='../userpass.aspx';</script>");
    return ;
   }
3.      ScriptManager.RegisterStartupScript(this.Page, base.GetType(), "alert", "alert( '你还没有选中模板!! ');", true);
4.  this.msg.Text = ("<script>window.location.href=document.URL; lert(/"出错:请检查是否填写完整!/")</script>");
5.  this.RegisterClientScriptBlock("", "<script>alert(/"请输入姓名/");</script>");
   =========================《5》html 控制输入文字个数===================================

(您对自己的发言应负相关责任;字数限2000字以内)

=================================《6》显示日期=================================

=============================================《7》邮箱链接============================
<a href="mailto:<%# Eval("email") %>"><%# Eval("email") %></a>
==============================================《8》取百分数和把结果排序=========
1、 LTRIM(CAST(RoonMassage.OccRonn * 100 AS decimal(10, 2))) + '% ' AS occroon,
2 Math.Round((sumoccavg / count * 100), 2) + "%";
3、RANK() OVER(order by OccRonn desc) as ZFL 排序

=====================================《8》时间函数================================
  1、时间比较。//小时
DateTime datenow = DateTime.Now;
                    DateTime time = Convert.ToDateTime(this.msgaddtime.Text.ToString());
                    time.ToShortDateString();
                    DateTime dt1 = Convert.ToDateTime(time);
                    DateTime dt2 = Convert.ToDateTime(datenow);
   TimeSpan ts = dt2 - dt1;
                    if (ts.Hours < 1)

datediff(day,lastedit,getdate()) //年、月、日比较
2、自定义结束时间
 DateTime.Now.AddDays((double)int.Parse(this.ddr_time.SelectedValue));//this.ddr_time.SelectedValue=1、7……
=============================================
Ex.B用户控件的传值方法
=============================================

用户控件的传值方法
1、web页上输入信息,在用户控件上显示信息的方法:
新建一个网页,取名a.aspx

a.apsx.cs

WebUserControl.aspx

把用户控件拖到a.aspx上运行即可

2、输入框在页面上,按钮与标签在用户控件里
新建网页PageA.aspx

PageA.aspx.cs

//****ascx用户控件中,定义一个要接收参数的属性
例子:
private string mBookTitle;
public string BookTite
{
   get{return mBokTitle;}
   set{mbookTitle=value;}
}


//****在aspx页面中调用此属性即可
protected UserControl.BookSeach mBookSeach;

//****设置传值
mBookSeach.BookTitle=txtbooktitle.value;

 
------------------------------------------
用户控件XXX.ascx :
<%@ Control Language="c#" %>
//html...
<script runat="server">
  public string BackClo ="red";  //这里定义了一个参数
  public void Page_Load()
  { }
</script>

在aspx中调用此变量,可以 :
<%@ Register TagPrefix="UserControl" TagName="Webbott" Src="XXX.ascx" %>
<html>
<body>
<form runat="server" method="post">
<UserControl:Webbott id="mybott" runat="Server" />
</form>
</body>
<script Language="c#" runat="Server">
 public void Page_Load()
  {
     string newclo = "Black";
     mybott.BackClo = newclo;    //更改了ascx中的那个参数!
  }
</script>
</html>
=====================================《10》发送邮件设置==============================
引用命名空间

=======================《11》控制lable的显示字数=============================
<html>-------   code
 <a  href='<%# string.Format(Eval("show_News").ToString(),Eval("id").ToString()) %>' runat="server" target="_blank">
<asp:Label ID="Label1" runat="server" Text='<%# SubStr(DataBinder.Eval(Container.DataItem,"title").ToString(),15) %>'  ToolTip='<%# Eval("title")%>'></asp:Label></a>

C# -----------code
 public string SubStr(string sString, int nLeng)
    {
        if (sString.Length <= nLeng)
        {
            return sString;
        }
        string sNewStr = sString.Substring(0, nLeng - 2);
        sNewStr = sNewStr + "...";
        return sNewStr;
    }
===========================QQ===================
客服QQ:285933727<A
href="http://wpa.qq.com/msgrd?V=1&amp;Uin=285933727&amp;Site=高科&amp;Menu=yes"
target=blank><IMG alt=客服为你服务 src="http://wpa.qq.com/pa?p=1:285933727:10"
border=0></A>


===========label自动换行================

原创粉丝点击