读书人

ASP.NET 未将对象引用设立到对象的实例

发布时间: 2012-12-16 12:02:32 作者: rapoo

ASP.NET 未将对象引用设置到对象的实例
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile ="<%#getXMLfile()%>"></asp:XmlDataSource>
DataFile的方法:
protected string getXMLfile()
{

string filename = "~/Posts/2.xml";
return filename;

}
因为这里datafile要传一个地址栏的参数,所以我没有直接写上路径,而是在后台写方法。

运行出现未将对象引用设置到对象的实例,百思不得其解,求大神指点!
[最优解释]
我完全试了下你的
应该是路径问题
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile ="<%#getgole()%>"></asp:XmlDataSource>
protected string getgole()
{
string aa = "http://localhost:5521/RealElec/bookstore.xml";
string aa = "~/posts/cc.xml";
return aa;
}
我这样写就没问题。
要不Server.MapPath( "~/posts/2.xml")这样试试
[其他解释]
DataFile ="<%#getXMLfile()%>">
==》
DataFile ="<%=getXMLfile()%>">
[其他解释]
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile ="<%=getXMLfile()%>"></asp:XmlDataSource>
DataFile的方法:
public string getXMLfile()
{

string filename = "~/Posts/2.xml";
return filename;

}

[其他解释]

引用:
DataFile ="<%#getXMLfile()%>">
==》
DataFile ="<%=getXMLfile()%>">

呵呵,有这样写的么?语法都不对
[其他解释]
引用:
引用:DataFile ="<%#getXMLfile()%>">
==》
DataFile ="<%=getXMLfile()%>">
呵呵,有这样写的么?语法都不对

[其他解释]
引用:
引用:DataFile ="<%#getXMLfile()%>">
==》
DataFile ="<%=getXMLfile()%>">
呵呵,有这样写的么?语法都不对
兄弟基础比我还差

有3种..

<%%>
<%=%>
<%#%>
[其他解释]
引用:
引用:引用:DataFile ="<%#getXMLfile()%>">
==》
DataFile ="<%=getXMLfile()%>">
呵呵,有这样写的么?语法都不对兄弟基础比我还差

有3种..

<%%>
<%=%>
<%#%>


额,我是菜鸟,记得<%=%>绑定的是变量吧,我那写的是方法
[其他解释]
表示不会使用服务器控件
[其他解释]
引用:
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile ="<%=getXMLfile()%>"></asp:XmlDataSource>


DataFile的方法:
public string getXMLfile()
{

string fil……


早试过了,同样不行
[其他解释]
引用:
引用:引用:引用:DataFile ="<%#getXMLfile()%>">
==》
DataFile ="<%=getXMLfile()%>">
呵呵,有这样写的么?语法都不对兄弟基础比我还差

有3种..

<%%>
<%=%>……


<% %>是一个代码块..比如<% string name="a"%>
<%= %>是绑定并显示..比如<%=name%>..或者后台的变量或方法进行调用并显示(必须为public或protected)
<%# %>这个一般都是使用到asp.net的控件时才使用到..比如Repeater..然后设置其DataSource..然后使用<%#Eval('')%>对其进行显示

(以上只是我个人的理解)

用到asp.net的控件里面就不能再使用<%=%>这样的表达式了
[其他解释]
既然都用到了asp.net的控件..

你可以在后台通过 XmlDataSource1.DataFile=XXX来赋值..不需要那么麻烦啊
[其他解释]
<%=getXMLfile() %> 别直接否定 试试就知道了
[其他解释]
引用:
<%=getXMLfile() %> 别直接否定 试试就知道了

这样测试前台是可以显示的,证明方法是没错的,错的应该是路径。
[其他解释]
引用:
我完全试了下你的
应该是路径问题
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile ="<%#getgole()%>"></asp:XmlDataSource>
protected string getgole()
{
string aa = "http://localhost:5521……


Server.MapPath试过了,也不行,我直接把“~/Posts/2.xml”写到datafile=“~/Posts/2.xml”这样是没问题的

[其他解释]
引用:
既然都用到了asp.net的控件..

你可以在后台通过 XmlDataSource1.DataFile=XXX来赋值..不需要那么麻烦啊

一样不行,而且我是把他放在datalist里面的
[其他解释]
既然你直接把“~/Posts/2.xml”写到datafile=“~/Posts/2.xml”这样是没问题的,那你就不能 DataFile ="<%=getgole()%>"?
[其他解释]
DataFile ="<%#getgole()%>"你在方法中缺少参数啊,DataFile绑定的是从数据库中读取到的一个字段,而你在getgole()中却没有任何的参数啊,你试下看在getgole中加入个参数试下看
[其他解释]
引用:
既然你直接把“~/Posts/2.xml”写到datafile=“~/Posts/2.xml”这样是没问题的,那你就不能 DataFile ="<%=getgole()%>"?


试过了,也是不行,运行结果是路径中有非法字符

读书人网 >asp.net

热点推荐