网页做的时候放在wwwroot/xyzl目录里,复制项目到wwwroot根目录下时注册和登录的链接出现问题,留言板也变的无法使用。
具体情况为:
鼠标放在注册上时可在状态栏看到地址变为http://register/reguser.aspx
在wwwroot/xyzl下放时正常显示(http://localhost/xyzl/register/reguser.aspx
但要是在地址栏直接输入http://localhost/register/login.aspx却可以正常登录
问题就是链接不对了,
定位链接的代码是:reg.NavigateUrl = Context.Request.ApplicationPath
+ Path.AltDirectorySeparatorChar + "XyzlRegister"
+ Path.AltDirectorySeparatorChar + "RegUser.aspx";
留言板的问题因为无法下断点,所以找不到原因(留言板可读出存在数据库中的留言,可发表新留言就会出错)
所有这一切在我不换项目文件夹时(即网站放在一开始的开发目录wwwroot/xyzl)全是正常的,留言板能留言,链接也没问题!可能这个问题很菜,希望大家能帮一下,如果很麻烦的话,希望能在线交一下,谢谢!
具体情况为:
鼠标放在注册上时可在状态栏看到地址变为http://register/reguser.aspx
在wwwroot/xyzl下放时正常显示(http://localhost/xyzl/register/reguser.aspx
但要是在地址栏直接输入http://localhost/register/login.aspx却可以正常登录
问题就是链接不对了,
定位链接的代码是:reg.NavigateUrl = Context.Request.ApplicationPath
+ Path.AltDirectorySeparatorChar + "XyzlRegister"
+ Path.AltDirectorySeparatorChar + "RegUser.aspx";
留言板的问题因为无法下断点,所以找不到原因(留言板可读出存在数据库中的留言,可发表新留言就会出错)
所有这一切在我不换项目文件夹时(即网站放在一开始的开发目录wwwroot/xyzl)全是正常的,留言板能留言,链接也没问题!可能这个问题很菜,希望大家能帮一下,如果很麻烦的话,希望能在线交一下,谢谢!
解决方案 »
- Datalist绑定数据时出现的问题,请高手指点!
- 如何让一个div永久在页面的最上层啊?
- ASP.NET网站的部署问题
- dropdownlist 触发SelectedIndexChanged事件后,dropdownlist显示的内容不变--在线急等!!
- asp.net页预览时看不到内容!以前可以!!
- |M| SQL 查询语句 select * from tab where addDate>='2007-04-04'
- fileUpLoad路径问题
- 怎样改变DataGrid中的模板列中的DropDownList控件的选项?
- 哪位能提供 走势图的ASP.NET实例
- 关于asp.net网页问题,高手进
- 请问ASP.NET程序如何与加密狗一起工作(100分相送)
- 请问如何在客户端判断页面IsPostBack?
因为是边学边做,而且还想着参加学校10月28号的比赛
大家帮忙解决下下吧我先去上课了!晚上回来再弄!
例如我的这个
<VisualStudioUNCWeb>
<Web URLPath = "http://localhost/WebApp/WebApp.csproj" />
</VisualStudioUNCWeb>
就是把WebApp这个文件夹设置为WEB共享,然后用WebApp.csproj打开项目。
如果是:
<VisualStudioUNCWeb>
<Web URLPath = "http://localhost:9090/WebApp.csproj" />
</VisualStudioUNCWeb>
就应该在IIS中设置一个站点目录指向WebApp,并且端口号设置为9090
大家发布网站时就是怎么个过程啊!没遇到这个问题吗?是不是我的过程有问题。
会的说一说啊!分不够的话我再开贴给啊!人生不能如此啊!
当在xyzl目录下的时候Context.Request.ApplicationPath=="/xyzl"
链接的地址就是/xyzl/XyzlRegister/RegUser.aspx,这个是没有问题的
但是如果放在网站根目录下的话,Context.Request.ApplicationPath是 "/",链接地址就成了//XyzlRegister/RegUser.aspx,前面是两个/,浏览器解析的时候就会把会面的XyzlRegister当成是主机地址其实你这样的情况用相对路径是最好的
reg.NavigateUrl = "XyzlRegister" + Path.AltDirectorySeparatorChar + "RegUser.aspx";
这样怎么都不会错
string sql = string.Empty;
OleDbCommand cmd;
string RegIP = Request.UserHostAddress;
string Content = String.Empty;
string ubbContent = String.Empty; txtContent.Text = txtContent.Text.Replace("'","‘"); if(txtContent.Text.Length < 5 || txtContent.Text.Length > 300)
{
lblTips.Visible = true;
lblTips.Text = "正文长度请保持在5到300之间!";
}
else
{
Content = txtContent.Text;
ubbContent = ubbCode(Content);
sql = "INSERT INTO [xyzlGuest] ";
sql += "(GuestName,Content,GuestDate,GuestIP)";
sql += "VALUES (";
sql += "'" + txtName.Text + "',";
sql += "'" + ubbContent + "',";
sql += "'" + DateTime.Now + "',";
sql += "'" + RegIP + "'";
sql += ")"; string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("Data/xyzl.mdb");
con = new OleDbConnection(conStr);
cmd = new OleDbCommand(sql,con);
con.Open(); bool doredirect = true; try
{
cmd.ExecuteNonQuery();
}
catch
{
doredirect = false;
lblTips.Visible = true;
lblTips.Text = "未知错误!留言失败!";
}
finally
{
con.Close();
} if (doredirect)
Response.Redirect("Guest.aspx");
}代码如下,执行时会跳到catch里
但在wwwroot/xyzl文件夹里时是能用的!
你到上面那个贴子把分接了吧!