首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

入门第一题,是代码原因还是网站原因?该如何解决

2012-03-11 
入门第一题,是代码原因还是网站原因?今天刚刚下载了MicrosoftVisualWebDeveloper2005expressedition,开始

入门第一题,是代码原因还是网站原因?
今天刚刚下载了Microsoft   Visual   Web   Developer   2005   express   edition,开始学习asp.net,碰到问题请教大家:

<%@   Page   Language= "C# "   %>
<%@   Import   Namespace= "System.IO "   %>
<%@   Import   Namespace= "System.Text "   %>

<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

<script   runat= "server ">

        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                TextBox1.Text   =   "hello测试 ";
                StreamWriter   sw   =   File.AppendText(AppDomain.CurrentDomain.BaseDirectory   +   "jilu.txt ");
                if   (File.Exists( "jilu.txt "))
                {
                        sw.WriteLine(TextBox1.Text);
                        sw.Close();
                }
                else
                {
                        StreamWriter   sr   =   File.CreateText( "jilu.txt ");
                        sw.WriteLine(TextBox1.Text);
                        sr.Close();
                        sw.Close();
                }

        }
</script>

<html   xmlns= "http://www.w3.org/1999/xhtml "   >
<head   runat= "server ">
        <title> Untitled   Page </title>
</head>
<body>
        <form   id= "form1 "   runat= "server ">
        <div>
                &nbsp; <asp:TextBox   ID= "TextBox1 "   runat= "server "   Width= "178px "> </asp:TextBox> &nbsp;
                <asp:Button   ID= "Button1 "   runat= "server "   Height= "21px "   OnClick= "Button1_Click "   Text= "Button "
                        Width= "54px "   /> </div>
        </form>
</body>
</html>

调试保存成 "test.aspx "文件后,在本地测试没有问题,但上传到我购买的虚拟主机的一个子目录里面后,用浏览器打开,点击“Button”按钮后出现:
“/”应用程序中的服务器错误。
--------------------------------------------

运行时错误  

而如果将StreamWriter等写入文件的代码删除则没有问题,请教这是什么原因呢?还请前辈们指教!!谢谢


------解决方案--------------------


虚拟主机的.net 环境的问题!
[解决办法]
很可能是权限问题
[解决办法]
可能是虚拟主机里,你的目录没有设置写权限,IIS帐户无法对其进行写入操作。
联系供应商解决。
[解决办法]
这个问题在文件上传和读写文件中经常碰到。要把你需要进行读写权限得文件夹得权限用户设置为everyone,也就是任何一个用户都可以。默认XP系统不需要设置,2000和2003都需要设置。
[解决办法]
你的逻辑有些乱,并且文件路径前后矛盾:

protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = "hello测试 ";
string file=File.Merge(AppDomain.CurrentDomain.BaseDirectory, "jilu.txt ");
File.AppendAllText(file,TextBox1.Text);
}

对于file,也可以写:
string file=Server.MapPath( "~/jilu.txt ");

当你使用asp.net2.0,应该把文件jilu.txt写在~/App_Data目录下,你上面放在根目录下。
[解决办法]
原来的代码应该是这有问题吧?
File.Exists( "jilu.txt ")

File.AppendText(AppDomain.CurrentDomain.BaseDirectory + "jilu.txt ");
的路径是不一样的。

热点排行