Products.aspx出错,该如何改(100分)请调试过再做答。

hiweiyi2000 2004-11-08 09:51:22
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>

<script Runat="Server" Language="C#">
void Page_Load(Object sender,EventArgs e) {
SqlConnection conNorthwind;
SqlCommand cmdProducts;
DataSet dstProducts;
string strQuery;

conNorthwind=new SqlConnection("Server=localhos;UID=sa;PWD=weiYI10!;Database=Northwind");
strQuery="select ProductName As Text from Products As TreeNode where CategoryID=@categoryID for xml

auto,XMLDATA";
cmdProducts=new SqlCommand(strQuery,conNorthwind);
cmdProducts.Parameters.Add(new SqlParameter("@categoryID", Request.QueryString("catID")));
conNorthwind.Open();
dstProducts=new DataSet();
dstProducts.ReadXml(cmdProducts.ExecuteXmlReader(),XmlReadMode.Fragment);
dstProducts.DataSetName="TREENODES";
dstProducts.WriteXml(Response.OutputStream);
conNorthwind.Close();
}
</script>


出错提示:

“/s”应用程序中的服务器错误。
--------------------------------------------------------------------------------

编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: CS0118: “System.Web.HttpRequest.QueryString”表示“属性”,此处应为“方法”

源错误:



行 12: strQuery="select ProductName As Text from Products As TreeNode where CategoryID=@categoryID for xml auto,XMLDATA";
行 13: cmdProducts=new SqlCommand(strQuery,conNorthwind);
行 14: cmdProducts.Parameters.Add(new SqlParameter("@categoryID", Request.QueryString("catID")));
行 15: conNorthwind.Open();
行 16: dstProducts=new DataSet();


源文件: C:\Inetpub\wwwroot\s\Products.aspx 行: 14
...全文
160 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightheroes 2004-11-09
  • 打赏
  • 举报
回复
楼主为什么不看看1楼的方法?
C#里面,没有通过()来访问这样的Collection的
只能是[]
Jack2013tong 2004-11-09
  • 打赏
  • 举报
回复
UP
vzxq 2004-11-09
  • 打赏
  • 举报
回复
把工程和数据库给我,帮你改
hiweiyi2000 2004-11-09
  • 打赏
  • 举报
回复
To:木子园:

按你的改了后,有以下提示:

“/s”应用程序中的服务器错误。
--------------------------------------------------------------------------------

根级别上的数据无效。 行 1,位置 1。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Xml.XmlException: 根级别上的数据无效。 行 1,位置
lhcoolhacker 2004-11-09
  • 打赏
  • 举报
回复
请将Request.QueryString("catID")改为Request.QueryString.Get("catID")
hiweiyi2000 2004-11-09
  • 打赏
  • 举报
回复
顶一下。
AntinomyArt 2004-11-09
  • 打赏
  • 举报
回复
En
popstartzhang 2004-11-08
  • 打赏
  • 举报
回复
太多了,看的头疼。帮你顶顶。
hiweiyi2000 2004-11-08
  • 打赏
  • 举报
回复
给出地址:
1.TreeViewDataSet.aspx
http://www.lybh.com/s/TreeViewDataSet.aspx

2.Categories.aspx
http://www.lybh.com/s/Categories.aspx

3.Products.aspx
http://www.lybh.com/s/Products.aspx


源代码:

1.TreeViewDataSet.aspx

<%@ Import Namespace="Microsoft.Web.UI.WebControls"%>
<%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls"%>

<html>
<head><title>TreeViewDataSet.aspx</title></head>
<body>
<form Runat="Server">
<IE:TreeView
AutoPostBack="True"
TreeNodeSrc="Categories.aspx"
Runat="Server"/>
</form>
</body>
</html>


2.Categories.aspx

<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<script Language="C#" Runat=Server>
void Page_Load(Object sender,EventArgs e) {
SqlConnection conNorthwind;
SqlCommand cmdCategories;
DataSet dstCategories;
String strQuery;

conNorthwind=new SqlConnection("Server=localhost;UID=sa;PWD=weiYI10!;Database=Northwind");
strQuery="Select CategoryName As Text,'products.aspx?catid='+LTRIM(STR(CategoryID)) As TreeNodeSrc from Categories As TreeNode for xml auto,XMLDATA";
cmdCategories=new SqlCommand(strQuery,conNorthwind);
conNorthwind.Open();
dstCategories=new DataSet();
dstCategories.ReadXml(cmdCategories.ExecuteXmlReader(),XmlReadMode.Fragment);
dstCategories.DataSetName="TREENODES";
dstCategories.WriteXml(Response.OutputStream);
conNorthwind.Close();
}
</script>



3.Products.aspx


<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>

<script Runat="Server" Language="C#">
void Page_Load(Object sender,EventArgs e) {
SqlConnection conNorthwind;
SqlCommand cmdProducts;
DataSet dstProducts;
string strQuery;

conNorthwind=new SqlConnection("Server=localhos;UID=sa;PWD=weiYI10!;Database=Northwind");
strQuery="select ProductName As Text from Products As TreeNode where CategoryID=@categoryID for xml auto,XMLDATA";
cmdProducts=new SqlCommand(strQuery,conNorthwind);
cmdProducts.Parameters.Add(new SqlParameter("@categoryID", Request.QueryString["catid"].ToString()));
conNorthwind.Open();
dstProducts=new DataSet();
dstProducts.ReadXml(cmdProducts.ExecuteXmlReader(),XmlReadMode.Fragment);
dstProducts.DataSetName="TREENODES";
dstProducts.WriteXml(Response.OutputStream);
conNorthwind.Close();
}
</script>



brightheroes 2004-11-08
  • 打赏
  • 举报
回复
判断的话

cmdProducts.Parameters.Add(new SqlParameter("@categoryID", Convert.ToString(Request.QueryString["catID"]));

就可以了

Convert自己过滤Null的情况
cnhgj 2004-11-08
  • 打赏
  • 举报
回复
最好加个判断,否则如果没有传值会出错

stringn catID = "";
if (Request.QueryString["catID"] != null)
{
catID = Request.QueryString["catID"].ToString();
}
cmdProducts.Parameters.Add(new SqlParameter("@categoryID", catID);
brightheroes 2004-11-08
  • 打赏
  • 举报
回复
1楼正解
cmdProducts.Parameters.Add(new SqlParameter("@categoryID", Request.QueryString["catID"].ToString());
hiweiyi2000 2004-11-08
  • 打赏
  • 举报
回复
顶一下。
mao5000 2004-11-08
  • 打赏
  • 举报
回复
c#语法:

Request.QueryString["catID"].ToString();
hiweiyi2000 2004-11-08
  • 打赏
  • 举报
回复
调试地址:
www.lybh.com/s/TreeViewDataSet.aspx

三个相关文件:
1.TreeViewDataSet.aspx


<%@ Import Namespace="Microsoft.Web.UI.WebControls"%>
<%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls"%>

<html>
<head><title>TreeViewDataSet.aspx</title></head>
<body>
<form Runat="Server">
<IE:TreeView
AutoPostBack="True"
TreeNodeSrc="Categories.aspx"
Runat="Server"/>
</form>
</body>
</html>


2.Categories.aspx


<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<script Language="C#" Runat=Server>
void Page_Load(Object sender,EventArgs e) {
SqlConnection conNorthwind;
SqlCommand cmdCategories;
DataSet dstCategories;
String strQuery;

conNorthwind=new SqlConnection("Server=localhost;UID=sa;PWD=weiYI10!;Database=Northwind");
strQuery="Select CategoryName As Text,'products.aspx?catid='+LTRIM(STR(CategoryID))"+"As TreeNodeSrc from Categories As TreeNode for xml auto,XMLDATA";
cmdCategories=new SqlCommand(strQuery,conNorthwind);
conNorthwind.Open();
dstCategories=new DataSet();
dstCategories.ReadXml(cmdCategories.ExecuteXmlReader(),XmlReadMode.Fragment);
dstCategories.DataSetName="TREENODES";
dstCategories.WriteXml(Response.OutputStream);
conNorthwind.Close();
}
</script>

3.Products.aspx

<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>

<script Runat="Server" Language="C#">
void Page_Load(Object sender,EventArgs e) {
SqlConnection conNorthwind;
SqlCommand cmdProducts;
DataSet dstProducts;
string strQuery;

conNorthwind=new SqlConnection("Server=localhos;UID=sa;PWD=weiYI10!;Database=Northwind");
strQuery="select ProductName As Text from Products As TreeNode where CategoryID=@categoryID for xml

auto,XMLDATA";
cmdProducts=new SqlCommand(strQuery,conNorthwind);
cmdProducts.Parameters.Add(new SqlParameter("@categoryID", Request.QueryString("catID")));
conNorthwind.Open();
dstProducts=new DataSet();
dstProducts.ReadXml(cmdProducts.ExecuteXmlReader(),XmlReadMode.Fragment);
dstProducts.DataSetName="TREENODES";
dstProducts.WriteXml(Response.OutputStream);
conNorthwind.Close();
}
</script>



62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧