您的位置:首页 > 编程语言 > ASP

ASP.NET常用方法技巧

2008-08-01 14:15 309 查看
1、在类库文件无法使用Server.MapPath,如何解决?
System.Web.HttpContext.Current.Server.MapPath(string)
2、类库中如何使用left函数
引用 Imports Microsoft.VisualBasic
3、解决asp.net生成文件后中文乱码
近日做CMS,生成JS文件调用后总是乱码,解决如下:
改变生成文件方式
'=============================================================
'过程名:CreatedTextFile
'作 用:创建文本文件
'参 数:filename ----文件名
' body ----主要内容
'=============================================================
Public Sub CreatedTextFile(ByVal FileName As String, ByVal body As String)
Dim fullpath As String
Dim sr As StreamWriter
Try
fullpath = System.Web.HttpContext.Current.Server.MapPath(FileName)
If File.Exists(fullpath) Then '如果文件存在,则创建File.AppendText对象
File.Delete(fullpath)
'如果文件不存在,则创建File.CreateText对象
End If
sr = File.CreateText(fullpath)
sr.Close()
Dim fileStream As New fileStream(fullpath, FileMode.Open)
Dim writer As New StreamWriter(fileStream, System.Text.Encoding.GetEncoding("GB2312"))
writer.WriteLine(body)
writer.Close()
fileStream.Close()
Catch ex As Exception
Finally
End Try
End Sub
4、如何在asp.net 后台方法中调用客户端js
Private Sub ImageButton1_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
CallJavaScript(Me, "loadFromXML", "")
End Sub

Public Shared Sub CallJavaScript(ByVal page As Page, ByVal FunName As String, ByVal str As String)
Dim StrScript As New StringBuilder
StrScript.Append("<script language=javascript>")
StrScript.Append(FunName)
StrScript.Append("('" & str & "');")
StrScript.Append("</script>")
If Not page.IsStartupScriptRegistered("Call" & FunName) Then
page.RegisterStartupScript("Call" & FunName, StrScript.ToString())
End If
End Sub
其中含义:
===========

CallJavaScript(页面form,后台方法,前端所用参数).
IsStartupScriptRegistered:确定 page 对象是否注册了客户端启动脚本.
RegisterStartupScript:允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块

============

需要引用Imports System.Text
5、在线VB 与C#转换
虽然C#与VB.NET都是运行在相同的平台上的,用哪一个做开发并不太重要,但是也不能排除客户对开发语言的一些要求,此时我们不用再费力的重写以前的功能模块,这里有一个在线转化工具:
http://www.developerfusion.com/tools/convert/csharp-to-vb/

6、一个ASPX页面A包含IFRAME--B页面,由于A页面采用了大量的JS文件进行控制,因此不希望在A页面提交保存按钮时触发服务器事件,防止页面重新加载。而A页面还需要在页面加栽时进行权限判断。因此采用JS进行实现当页面A中HTML控件值发生变化时自动向IFRAME中一个服务器控件传值,从而在B页面保存按钮时进行判断,当发生错误时提示错误。

<if rame id="sad" src="savenews.aspx" frameBorder="0" width="100%" height="100%" runat="server"></ifr a me>

采用JS进行传值

其中sad为IFRAME ID TXT2为B页面隐藏的服务器控件 TXT1为A页面HTML控件

TXT1在值改变时会触发以下JS事件,从而保证数值的传递

sad.document.all("txt2").value=document.all("txt1").value;

7、alert 不白屏的方法

从服务器端向客户端弹出alert()对话框,但不会出现使页面变白版

方法1
RegisterStartupScript("alert","<script language=javascript>window.alert('wrong password!');</script>");
方法2
Button1.Attributes["onclick"]="alert('wrong password!');";
方法3
在页面上添加
<asp:label1 id="Message" runat="server"></asp:label>
后台代码
private void btnPop_Click(object sender,System.EventArgs e)
{
Message.Text="<script language='javascript'>alert('Wrong password!');</script>;"
}

8、ASP。NET中双引号的使用

使用""来代替双引号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: