当前位置:编程学习 > C#/ASP.NET >>

使用ajaxpro后的server.mappath()

问题出来了:
1.[AjaxPro.AjaxMethod]
    public string ExistLoginName(string loginname)
    {
       connstring=server.MapPath("App_Data/Flower.mdb");
       ....
       ....
    }
2.我第一次调用ExistLoginName(..)方法时,
connstring="... DataSource=F:\flower\FlowerWeb\App_Data\Flower.mdb"
当第二次调用ExistLoginName(..)方法时,
connstring="... DataSource=F:\flower\FlowerWeb\ajaxpro\App_Data\Flower.mdb"
其中多了 ajaxpro 郁闷..
怎么会这样呢?
--------------------编程问答-------------------- 不懂,帮顶了,我还更奇怪 ,取不到值啊! --------------------编程问答-------------------- 怎么取不到,你是怎么用的? --------------------编程问答-------------------- 加个“~/”试试? --------------------编程问答-------------------- @_@ --------------------编程问答-------------------- 帮顶. --------------------编程问答-------------------- connstring=server.MapPath("(在此加个/)App_Data/Flower.mdb"); 
--------------------编程问答-------------------- 1.connstring=server.MapPath("App_Data/Flower.mdb"); 
2.connstring=server.MapPath("/App_Data/Flower.mdb"); 
两个都不行的,正如楼下说的:取不到值啊!
我进行调试,调用的时候是进入了ExistLoginName(..)这个方法,
但是遇到server.MapPath(..)就立即返回了,不知道什么原因?

在这里,我要更正:我出现connstring="...   DataSource=F:\flower\FlowerWeb\ajaxpro\App_Data\Flower.mdb"
这种情况是因为connstring 是在另外一个类库的类里面获取的,我是这样获取的:
public static readonly string CONN_STRING = System.Configuration.ConfigurationManager.AppSettings["ConnString"] + HttpContext.Current.Server.MapPath("App_Data/Flower.mdb");

3.web.config里面我是这样写的:
<appSettings>
   <add key="ConnString" value="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=True;Jet OLEDB:Database Password=admin;Data Source="/>
</appSettings>

4.问题就是在于:HttpContext.Current.Server.MapPath("App_Data/Flower.mdb");
5.谢谢...
--------------------编程问答-------------------- 可以取到.不过取出来的地方会自动加ajaxpro你在用replace替换下就行了. --------------------编程问答-------------------- server.MapPath("~/App_Data/Flower.mdb"); --------------------编程问答-------------------- 能取到我以前也是用那样取的. --------------------编程问答-------------------- 能取到我以前也是用那样取的. --------------------编程问答-------------------- 如果你用的是ajax.dll他会自动加上一个ajax还是必须要用replace替换下才行. --------------------编程问答-------------------- 如果你用的是ajax.dll他会自动加上一个ajax还是必须要用replace替换下才行. --------------------编程问答-------------------- 法1
把connectionStrong 定义在外部 标记成static的 不要定义在[AjaxPro.AjaxMethod]标记的代码内
因为这个方法实际上是ajaxpro在异步请求的时候执行的 它偷偷的用了一个iframe src=/ajax/某个.ashx去请求了 返回路径当然/Ajaxpro了
这个是我想当然的 不知道是否可行

法2

connstring=server.MapPath("~/App_Data/Flower.mdb");   很多人都说了

强烈推荐法2
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,