常见问题FAQ

目录

常见问题FAQ    1

目录    2

修订历史纪录    2

1、Server.MapPath    3

2、查看文件是否存在    3

3、对话框    3

4、(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)    4

5、Get与Post    4

6、"进程性能计数器已禁用,因此无法执行所请求的操作"解决方法    5

7、前台调用后台方法    5

8、后台设置前台Html控件的属性    5

9、设置透明层    5

10、线程    6

11、Page.IsPostBack    6

12、AutoPostBack    6

13. string.Format    7

 

 

1Server.MapPath

string Page.Server.MapPath(string path)


返回与Web服务器上的指定虚拟路径相对应的物理文件路径

2、查看文件是否存在

if (System.IO.File.Exists((string)strFileName))

{

                System.IO.File.Delete((string)strFileName); //存在删除文件

}

 

     if(!System.IO .File .Exists (saveExcelPath))

            {

 

            System.IO.Directory .CreateDirectory (saveExcelPath); //不存在路径就创建文件及

 

}

3、对话框

System.Windows.Forms.MessageBoxButtons buttons=System.Windows.Forms.MessageBoxButtons.YesNo;

System.Windows .Forms .DialogResult result;

// Displays the MessageBox.

//显示具有指定文本、标题、按钮、图标、默认按钮和选项的消息框。

    result = System.Windows .Forms . MessageBox.Show( "确定要锁住用户吗?",

"标题",

buttons,

System.Windows.Forms.MessageBoxIcon.Question,

System.Windows.Forms. MessageBoxDefaultButton.Button1, System.Windows .Forms .MessageBoxOptions.ServiceNotification );

            if (result==System.Windows .Forms .DialogResult.Yes)

            {

             ///点击是,执行的操作

            }

Else

{

}

4(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)

指触发对象的类型是DadaList里的基本行或是替换行(简单的说是DataList里的所有数据项内容)

5GetPost

客户端和服务端需要交互必须要提交,提交有两种方式getpost, get就是通过向服务端发送连接地址,服务端通过地址的参数来获得信息的,一般这些参数都是明文,能在浏览器地址栏看到。而post是通过表单的input等元素提交到服务端的页面的,这些数据一般是看不到的。

6、"进程性能计数器已禁用,因此无法执行所请求的操作"解决方法

程序处理:

Microsoft.Win32.RegistryKey hklm =Microsoft.Win32.Registry.LocalMachine ;

Microsoft.Win32.RegistryKey software = hklm.OpenSubKey ( "SYSTEM\\CurrentControlSet\\Services\\PerfProc", true ) ;

Microsoft.Win32.RegistryKey myKey= software.OpenSubKey ( "Performance" , true ) ;

myKey.SetValue ( "Disable Performance Counters" , 0 ) ;

 

然后运行Lodctr /r 命令

 

重启一下系统应该就可以了。

7、前台调用后台方法

可以将后台要执行的代码放在一个Web Button的点击事件中,然后将这个控件的Visible设为不可见。比如说要在Html控件的javascript点击事件中调用这段代码,就是在Html控件的点击事件方法体中添加__doPostBack(Web控件的ID,'')。前提是页面中datagrid或有AutoPosBack属性的控件,而且这个属性要设置为true 这样就可以在前台调用后台的代码了。

8、后台设置前台Html控件的属性

前提是要给这个Html控件加上runat=server,然后在后台

this.控件的ID.Style["VISIBILITY"]="visible";//设置控件的样式

9、设置透明层

FILTER: FILTER: Alpha(Opacity=75);

10、线程

System.Threading.ThreadStart entryPoint=new ThreadStart (要执行的方法名称);

        System.Threading.Thread thread=new Thread (entryPoint);

    thread.Start ();

11Page.IsPostBack

获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。

例子:

void Page_Load() {

if (!IsPostBack)

{

//首次加载

}

else

{

//响应客户端回发而加载

}

 

}

 

12AutoPostBack

获取或设置一个值,该值指示当用户与一个控件交互时,是否自动将状态提交给服务器。

13string.Format

根据格式,填充参数,返回字符串

例如:string.Format("The {0} event of {1} is fired", "Click", "Button2");

 

14ViewState

__VIEWSTATE就是ASP.NET中的视图状态,用来保存WEB控件回传时候的值,WEB窗体的runat="server",这个窗体就默认被加载了__VIEWSTATE

__VIEWSTATE存放了控件的所有状态,当请求某个页面时,ASP.NET就把所有控件的状态转换成了一个字符串,就是那一大堆东西,当然这些全是ASP.NET自己执行的,默认是开始__VIEWSTATE视图状态的。

 

原文地址:https://www.cnblogs.com/lexus/p/977359.html