总结ASP.NET C#中经常用到的13个JS脚本代码
程序员文章站
2023-12-16 11:30:10
在c#开发过程中,免不了写一些js,其实做后端开发的,本身不擅长写js,干脆总结一下,方便自己也方便别人,分享给大家。呵呵~~
1.按钮前后台事件
复制代码 代码如下:...
在c#开发过程中,免不了写一些js,其实做后端开发的,本身不擅长写js,干脆总结一下,方便自己也方便别人,分享给大家。呵呵~~
1.按钮前后台事件
复制代码 代码如下:
<asp:button id="button1" runat="server" onclick="button1_click" text="button"
onclientclick="alert('客房端验证,阻止向服务器端提交');return false;" />
2.注册相关事件:onblur,onclick,onchange
复制代码 代码如下:
this.textbox1.attributes.add("onchange",
"alert('数据被改动,现检查输入是否符合规则');");
3.注册相关属性:
复制代码 代码如下:
this.textbox1.attributes.add("readonly", "true");
4.引入js文件
前台html页面:
复制代码 代码如下:
<script type="text/javascript" src="jscript.js" language="javascript"></script>
<script type="text/javascript" language="javascript">
function fn_name()
{
alert("js");
}
</script>
后台cs页面:
复制代码 代码如下:
this.registerclientscriptblock("jsfile",
"<script type='text/javascript' src='jscript.js' language='javascript'></script>");
[code]
5.点击按钮时 相关栏位 非空判断
[code]
function checkempty(txtobj,msgshow)
{
if(txtobj.value == "")
{
alert(msgshow);
return false;
}
}
<asp:button id="button1" runat="server" onclick="button1_click" text="button"
onclientclick="return checkempty(textbox1,'textbox1 不能为空')" />
6.通过chcekbox的是否点选来控制其相对应的textbox 是否可输入
复制代码 代码如下:
function chktextbox(chkobj,txtobj)
{
if(chkobj.checked==true)
{
txtobj.value = "";
txtobj.readonly = false;
txtobj.focus();
}
if(chkobj.checked == false)
{
txtobj.value = "";
txtobj.readonly = true;
}
}
<input id="checkbox1" type="checkbox" onclick="chktextbox(checkbox1,textbox1)" />
7.传值到模态窗口 并得到传回的值
复制代码 代码如下:
var encodequeryname = escape(name);
var strpara = "'dialogwidth: 400px;dialogheight: 400px;dialogleft: 300px;dialogtop: 200px;toolbar: no;menubar: no;resizable: yes;location: no;status: no;scrollbars= no'";
var returninfo = window.showmodaldialog("qryname.aspx?&name="+encodequeryname +"&queryid="+querytype+"",'',strpara);
if(returninfo !=null)
{
var arrayreturninfo = returninfo .split("@");
document.all.drpid.value = arrayreturninfo[1];
document.all.txtname.value= arrayreturninfo[2];
}
8.弹出js的确认对话框,并根据确认结果 触发后台相关操作
复制代码 代码如下:
if(confirm('确认如何吗?'))
{
document.all.hidbtn_submit.click();
}
else
{
document.all.hidbtn_cancel.click();
}
html页面相关代码:
复制代码 代码如下:
<input id="hidbtn_submit" type="button" value="确认修改"
style="display:none;"
onserverclick="hidbtn_submit_serverclick"
runat="server" />
9.添加页面对快捷键的响应,如 按f2时 进行新增按钮的操作等
复制代码 代码如下:
#region 添加页面对快捷键的响应
string strjs_shortkey = "<script language='javascript' type='text/javascript' > ";
strjs_shortkey += " document.onkeydown=shortkeydown; ";
strjs_shortkey += " function shortkeydown() ";
strjs_shortkey += " { ";
// 新增
if (this.buttonctl1.imgbtn_addfamily.visible)
{
string btninsertcid = this.buttonctl1.imgbtn_insert.clientid.trim();
//f2 - 113
strjs_shortkey += " if(event.keycode=='113') ";
strjs_shortkey += " { ";
strjs_shortkey += " document.all('" + btninsertcid + "').click();";
strjs_shortkey += " event.keycode= 0; ";
strjs_shortkey += " event.returnvalue = false; ";
strjs_shortkey += " return false; ";
strjs_shortkey += " } ";
}
// 修改
if (this.buttonctl1.imgbtn_edit.visible)
{
string btneditcid = this.buttonctl1.imgbtn_edit.clientid.trim();
//f3 - 114
strjs_shortkey += " if(event.keycode=='114') ";
strjs_shortkey += " { ";
strjs_shortkey += " document.all('" + btneditcid + "').click();";
strjs_shortkey += " event.keycode= 0; ";
strjs_shortkey += " event.returnvalue = false; ";
strjs_shortkey += " return false; ";
strjs_shortkey += " } ";
}
strjs_shortkey += " } ";
//注册事件
page.registerstartupscript("shortkey", strjs_shortkey);
#endregion
10.弹出的提示 分行显示
复制代码 代码如下:
alert('aaa \r\n bbb \r\n ccc');
如果是在后台.cs文件中注册
则需要
复制代码 代码如下:
string stralertcontent = "aaa"+" ";
stralertcontent += "bbb" +" ";
11.点击gridview上的某一行时,行首列处的radiobutton处于选中状态,同时保存相关值在隐藏栏位
复制代码 代码如下:
//用查询得的数据集进行绑定
if (dt.rows.count > 0)
{
//绑定
this.gv_infofromsendmodule.datasource = dt;
this.gv_infofromsendmodule.databind();
//确定按钮显示
this.btn_ok.visible = true;
this.txthid_rowcount.text = dt.rows.count.tostring();
}
//gridview的rowdatabound
protected void gv_infofromsendmodule_rowdatabound(object sender, gridviewroweventargs e)
{
if (e.row.rowindex < 0)
return;
e.row.attributes.add("onclick", "radbutton('" + e.row.rowindex.tostring() + "','" + e.row.cells[1].text.trim() + "');");
//radiobutton rad = (radiobutton)e.row.cells[0].findcontrol("rad_select");
//rad.attributes.add("onclick", "radbutton('"+e.row.rowindex.tostring()+"','"+ e.row.cells[1].text.trim()+"');");
}
//行上所绑定的js
function radbutton(rowindex,rowguid)
{
//gv_infofromsendmodule$ctl02$rad_select
var rowcount = parseint(document.all.txthid_rowcount.value)+2;
for(var i=2;i<rowcount;i++)
{
var tmpname;
if(i<10)
{
tmpname = "gv_infofromsendmodule$ctl0"+i+"$rad_select";
}
else
{
tmpname = "gv_infofromsendmodule$ctl"+i+"$rad_select";
}
//取得对应的radio对象
var tmpradio = document.getelementbyid(tmpname);
//当前选中 其他取消选中
if((i-2) == rowindex)
{
tmpradio.checked = true;
}
else
{
tmpradio.checked = false;
}
}
document.all.txthid_guid.value = rowguid;
}
12.去掉前后空格
复制代码 代码如下:
function fn_trim(obj)
{
if(obj==null)
{
return;
}
else
{
var oldstr = obj.value;
var newstr = oldstr.replace(/^\s+|\s+$/g,"");
obj.value = newstr;
}
}
13.textbox文本内容长度判断 看是否超过长度 超过返回true
复制代码 代码如下:
function fn_istoolong(obj,varlength)
{
if(obj==null)
{
return false;
}
else
{
var valuestr = obj.value;
var len = valuestr.match(/[^ -~]/g) == null ? valuestr.length : valuestr.length + valuestr.match(/[^ -~]/g).length ;
if(len > parseint(varlength) )
{
return true;
}
else
{
return false;
}
}
}