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); //删除函数
}
}
新闻热点
疑难解答
图片精选