1.弹出对话框.
a. 弹出对话框:
C# codeClientScript.RegisterStartupScript(this.GetType(), "",
"<script>window.alert('该会员没有提交申请,请重新提交!')</script>");
b.转向指定页面
C# code Response.Write("
<script>window.location='http://www.gongxinkang.com.cn'
</script>");//window.location.href也可以
c. 打开新的浏览器窗口
C# codeResponse.Write(" <script>window.open
('http://www.gongxinkang.com.cn/index.aspx') </script>");
d.确认是否删除
HTML code<asp:Button ID="Button1" runat="server" Text="Button"
OnClientClick="return confirm('确认是否删除?')" />
或者
C# code Button1.Attributes.Add("OnClick", "return window.confirm('确认
是否删除?')")
OnClientClick 属性来指定在引发某个 Button 控件的 Click 事件时所
执行的附加客户端脚本。return window.confirm('确认是否删除?')返回值如果
为false,就不会执行提交表单到服务器的脚本命令。
Response.Write 中的javascript 总是发生在
ClientScript.RegisterStartupScript中的javascript 之前,我是这么理解:
1. ClientScript.RegisterStartupScript 用于添加在页面 </form>之前
添加javascript脚本,可以确定服务器端 <form>标签的所有html元素 都已经创
建出来。
2.Response.Write将信息写入 HTTP 响应输出流,你会发现平时
Response.Write的内容总是在页面顶端,html元素 都还没有已经创建出来。
2. 删除文件
C# codestring filename ="aa.txt";
System.IO.File.Delete(Server.MapPath("~/aa.txt"));
3.绑定下拉列表框
C# code Dictionary<string, int> dic = new Dictionary<string, int>();
dic.Add("请选择", -1);
dic.Add("aa",0);
dic.Add("eew",2);
DropDownList1.DataSource=dic;
DropDownList1.DataTextField="key";
DropDownList1.DataValueField="value";
DropDownList1.DataBind();
4.时间格式化
Label1.Text = DateTime.Now.ToString("T");
/*格式化日期
* d :08/17/2000
D :Thursday, August 17, 2000
f :Thursday, August 17, 2000 16:32
F :Thursday, August 17, 2000 16:32:32
g :08/17/2000 16:32
G :08/17/2000 16:32:32
m :August 17
r :Thu, 17 Aug 2000 23:32:32 GMT
s :2000-08-17T16:32:32
t :16:32
T :16:32:32
u :2000-08-17 23:32:32Z
U :Thursday, August 17, 2000 23:32:32
y :August, 2000
dddd, MMMM dd yyyy :Thursday, August 17 2000
ddd, MMM d "'"yy :Thu, Aug 17 '00
dddd, MMMM dd :Thursday, August 17
M/yy :8/00
dd-MM-yy :17-08-00 */
5.数字格式化:
C# code int i=123456;
string s=i.ToString("###,###.00");
Response.Write(s);
6.提取动态网页内容
C# code Uri uri = new Uri("http://www.51aspx.com/");
WebRequest req = WebRequest.Create(uri);
WebResponse resp = req.GetResponse();
Stream str = resp.GetResponseStream();
StreamReader sr = new StreamReader(str,
System.Text.Encoding.Default);
string t = sr.ReadToEnd();
this.Response.Write(t.ToString());
7.获取" . "后面的字符
C# codestring i = "32432.32432";
i= i.ToString().Trim().Substring(i.ToString().Trim
().LastIndexOf(".") + 1);
Label1.Text = i;
8.gridview控件
HTML code<asp:GridView AutoGenerateColumns="false"
DataSourceID="SqlDataSource1" ID="GridView1"
runat="server" OnRowCommand="GridView1_RowCommand"
OnRowCreated="GridView1_RowCreated"
OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField HeaderText="ID" DataField="topicid"
/>
<asp:BoundField HeaderText="title"
DataField="topictitle" />
<asp:BoundField HeaderText="time"
DataField="topiccreatetime" />
<asp:TemplateField>
<ItemTemplate>
<input id="Button2" onclick="change(this)"
value="点击改变" />
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField Text="删除" CommandName="del" />
<asp:HyperLinkField NavigateUrl="~/index.aspx"
DataTextField="topictitle" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
SelectCommand="select topicid,topictitle ,topiccreatetime from tbtopic"
ConnectionString="<%$ ConnectionStrings:melon23 %>">
<SelectParameters>
</SelectParameters>
</asp:SqlDataSource>
a.点击改变字段的值:
HTML code<script type="text/javascript">
function change(obj)
{
obj.parentNode.previousSibling.innerHTML="change";//firefox 不支持
innerText 它们都不是DOM标准的一部分
}
</script>
b.删除确认:
HTML code<asp:LinkButton ID="LinkButton1" runat="server"
CausesValidation="False" CommandName="Delete"
OnClientClick="return confirm('确定要删除吗?')"
Text="删除"></asp:LinkButton>
或者
(看页面控件树 <%@ Page Trace="true" %>,确认要找的控件类型)
C# code protected void GridView1_RowCreated(object sender,
GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) //判断是否为
数据行,要不有可能是标题行,执行会出错。
{
TableCell myTableCell = (TableCell)e.Row.Controls[4];
LinkButton btn = (LinkButton)myTableCell.Controls[0];
btn.Attributes.Add("onclick", "return window.confirm('您是否确定
要删除这条信息')");
}
}
c 行变色
C# codeprotected void GridView1_RowDataBound(object sender,
GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) //判断是否为
数据行,要不有可能是标题行,执行会出错。
{
e.Row.Attributes.Add
("onclick","this.style.backgroundColor='#35dd23';"); //点击变色
e.Row.Attributes.Add
("onmouseover","this.style.backgroundColor='#99cc00';this.style.color='
fff';this.style.cursor='default';");//经过变色
e.Row.Attributes.Add
("onmouseout","this.style.backgroundColor='';this.style.color='';");//
恢复颜色
}
}
9.错误提示:从客户端(TextBox1="dsfgdsf <br/>sfd")中检测到有潜在危险的
Request.Form 值.
只通过设置 validateRequest=false你的站点很容易引发跨站脚本攻击。
来自:
http://hi.baidu.com/wyd45123/blog/item/0376ae17a331b80dc83d6d61.html
第一步: <pages validateRequest="false" />
第二步:Page.Server.HtmlEncode( TextBox1.Text)将其中的HTML标签彻底禁止.
第三步:我们再对我们所感兴趣的、并且是安全标签,通过Replace()进行替换:
C# codeStringBuilder sb = new StringBuilder(
HttpUtility.HtmlEncode(htmlInputTxt.Text));
// 然后我们选择性的允许<b> 和 <i>
sb.Replace("<b>", "<b>");
sb.Replace("</b>", "");
sb.Replace("<i>", "<i>");
sb.Replace("</i>", "");
Response.Write(sb.ToString());
10、div内英文数字字符过长时如何自动分行
1.在ie中IE里用word-wrap:break-word;240px;就可以解决了。 记住:这
只是ie的用法,word-wrap:break-word没有通过W3C认证,不是标准的css。
2.要在ie、firefox中实现要用到javascript:(注:用时在遇到长英文字母时会
有空格出现,希望高手有更好的方法)
HTML code<body class="home" onload="toBreakWord(70)">
<script language="javascript" type="text/javascript">
function toBreakWord(intLen){
var obj=document.getElementById("change");
var strContent=obj.innerHTML;
var strTemp="";
while(strContent.length>intLen){
strTemp+=strContent.substr(0,intLen)+" ";
strContent=strContent.substr(intLen,strContent.length);
}
strTemp+=" "+strContent;
obj.innerHTML=strTemp;
}
</script>