首页 > 编程 > .NET > 正文

ASP.NET程序中常用代码汇总(三)

2024-07-10 13:06:47
字体:
来源:转载
供稿:网友

21.如何设定全局变量 global.asax中
  application_start()事件中
  添加application[属性名] = xxx;
  就是你的全局变量
22.怎样作到hyperlinkcolumn生成的连接后,点击连接,打开新窗口?
hyperlinkcolumn有个属性target,将器值设置成"_blank"即可.(target="_blank")

  【aspnetmenu】点击菜单项弹出新窗口

  在你的menudata.xml文件的菜单项中加入urltarget="_blank",如:

<?xml version="1.0" encoding="gb2312"?>
<menudata imagesbaseurl="images/">
<menugroup>
<menuitem label="内参信息" url="infomation.aspx" >
<menugroup id="bbc">
<menuitem label="公告信息" url="infomation.aspx" urltarget="_blank" lefticon="file.gif"/>
<menuitem label="编制信息简报" url="newinfo.aspx" lefticon="file.gif" />


  最好将你的aspnetmenu升级到1.2版23.读取datagrid控件textbox值 foreach(datagrid dgi in yourdatagrid.items)
{
 textbox tb = (textbox)dgi.findcontrol("yourtextboxid");
 tb.text.
}24.在datagrid中有3个模板列包含textbox分别为 dg_shuliang (数量) dg_danjian(单价) dg_jine(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能?
<asp:templatecolumn headertext="数量">
<itemtemplate>
<asp:textbox id="shuliang" runat=’server’ text=’<%# databinder.eval(container.dataitem,"dg_shuliang")%>’
onkeyup="javascript:docal()"
/>

<asp:regularexpressionvalidator id="revs" runat="server" controltovalidate="shuliang" errormessage="must be integer" validationexpression="^/d+$" />
</itemtemplate>
</asp:templatecolumn>

<asp:templatecolumn headertext="单价">
<itemtemplate>
<asp:textbox id="danjian" runat=’server’ text=’<%# databinder.eval(container.dataitem,"dg_danjian")%>’
onkeyup="javascript:docal()"
/>

<asp:regularexpressionvalidator id="revs2" runat="server" controltovalidate="danjian" errormessage="must be numeric" validationexpression="^/d+(/./d*)?$" />

</itemtemplate>
</asp:templatecolumn>

<asp:templatecolumn headertext="金额">
<itemtemplate>
<asp:textbox id="jine" runat=’server’ text=’<%# databinder.eval(container.dataitem,"dg_jine")%>’ />
</itemtemplate>
</asp:templatecolumn><script language="javascript">
function docal()
{
 var e = event.srcelement;
 var row = e.parentnode.parentnode;
 var txts = row.all.tags("input");
 if (!txts.length || txts.length < 3)
  return;

 var q = txts[txts.length-3].value;
 var p = txts[txts.length-2].value;

 if (isnan(q) || isnan(p))
  return;

 q = parseint(q);
 p = parsefloat(p);

 txts[txts.length-1].value = (q * p).tofixed(2);
}
</script>25.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
       page_load
   page.smartnavigation=true
26.在datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?
private void datagrid1_itemdatabound(obj sender,datagriditemeventargs e)
{
 for(int i=0;i<e.item.cells.count-1;i++)
  if(e.item.itemtype==listitemtype.edittype)
  {
   e.item.cells[i].attributes.add("width", "80px")
  }
}27.对话框 private static string scriptbegin = "<script language=/"javascript/">";
private static string scriptend = "</script>";

public static void confirmmessagebox(string pagetarget,string content)
{
 string confirmcontent="var retvalue=window.confirm(’"+content+"’);"+"if(retvalue){window.location=’"+pagetarget+"’;}";

 confirmcontent=scriptbegin + confirmcontent + scriptend;

 page parameterpage = (page)system.web.httpcontext.current.handler;
 parameterpage.registerstartupscript("confirm",confirmcontent);
 //response.write(strscript);
}28.将时间格式化:string aa=datetime.now.tostring("yyyy年mm月dd日");
   1.1 取当前年月日时分秒
currenttime=system.datetime.now;
  1.2 取当前年
int 年= datetime.now.year;
  1.3 取当前月
int 月= datetime.now.month;
  1.4 取当前日
int 日= datetime.now.day;
  1.5 取当前时
int 时= datetime.now.hour;
  1.6 取当前分
int 分= datetime.now.minute;
  1.7 取当前秒
int 秒= datetime.now.second;
  1.8 取当前毫秒
 int 毫秒= datetime.now.millisecond;29.自定义分页代码
//先定义变量 :
public static int pagecount; //总页面数
public static int curpageindex=1; //当前页面
  //下一页:
if(datagrid1.currentpageindex < (datagrid1.pagecount - 1))
{
 datagrid1.currentpageindex += 1;
 curpageindex+=1;
}
bind(); // datagrid1数据绑定函数
  //上一页:
if(datagrid1.currentpageindex >0)
{
 datagrid1.currentpageindex += 1;
 curpageindex-=1;
}
bind(); // datagrid1数据绑定函数
  //直接页面跳转:
int a=int.parse(jumppage.value.trim());//jumppage.value.trim()为跳转值

if(a<datagrid1.pagecount)
{
 this.datagrid1.currentpageindex=a;
}
bind();
30.datagrid使用
//添加删除确认:

private void datagrid1_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
 foreach(datagriditem di in this.datagrid1.items)
 {
  if(di.itemtype==listitemtype.item||di.itemtype==listitemtype.alternatingitem)
  {
   ((linkbutton)di.cells[8].controls[0]).attributes.add("onclick","return confirm(’确认删除此项吗?’);");
  }
 }
}

  //样式交替:

listitemtype itemtype = e.item.itemtype;

if (itemtype == listitemtype.item )
{
 e.item.attributes["onmouseout"] = "javascript:this.style.backgroundcolor=’#ffffff’;";
 e.item.attributes["onmouseover"] = "javascript:this.style.backgroundcolor=’#d9ece1’;cursor=’hand’;" ;
}
else if( itemtype == listitemtype.alternatingitem)
{
 e.item.attributes["onmouseout"] = "javascript:this.style.backgroundcolor=’#a0d7c4’;";
 e.item.attributes["onmouseover"] = "javascript:this.style.backgroundcolor=’#d9ece1’;cursor=’hand’;" ;
}

  //添加一个编号列:

datatable dt= c.executertntableforaccess(sqltxt); //执行sql返回的datatable
datacolumn dc=dt.columns.add("number",system.type.gettype("system.string"));

for(int i=0;i<dt.rows.count;i++)
{
 dt.rows[i]["number"]=(i+1).tostring();
}

datagrid1.datasource=dt;
datagrid1.databind();

  //datagrid1中添加一个checkbox,页面中添加一个全选框

private void checkbox2_checkedchanged(object sender, system.eventargs e)
{
 foreach(datagriditem thisitem in datagrid1.items)
 {
  ((checkbox)thisitem.cells[0].controls[1]).checked=checkbox2.checked;
 }
}

 // 将当前页面中datagrid1显示的数据全部删除

foreach(datagriditem thisitem in datagrid1.items)
{
 if(((checkbox)thisitem.cells[0].controls[1]).checked)
 {
  string strloginid= datagrid1.datakeys[thisitem.itemindex].tostring();
  del (strloginid); //删除函数
 }
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表