传值问题

ZJM2032 2009-11-27 09:39:27
string CatalogId;
string tkeyword;

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
CatalogId = Request.Params["CatalogId"].ToString(); //未将对象引用设置到对象的实例。

tkeyword = Request.Params["Keyword"].ToString(); //未将对象引用设置到对象的实例。

GetProducts(CatalogId,tkeyword);
}
}


private void GetProducts(string sCatalogId, string skey)
{
string cmdText = "SELECT * FROM Photos ORDER BY Id DESC";
if (sCatalogId != null)
{
cmdText = "SELECT * FROM Photos where CatalogId=" + sCatalogId + " ORDER BY Id DESC";
}
if (skey != null)
{
cmdText = "SELECT * FROM Photos where name like '%" + skey +"%' ORDER BY Id DESC";
}
}

为什么会出现这样的错误,如果两个值都给了的话就能显示,但如果只传了一个的话就会出错
那我想一次只传一个值,要么类别,要么关键字的话要怎么做,后面已经有判断了啊,哪里要改一下?
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZJM2032 2009-12-02
  • 打赏
  • 举报
回复
谢谢,我已经换别的办法解决了
ysmz555 2009-11-28
  • 打赏
  • 举报
回复
改成两个不同的呢?
private void GetProducts(string sCatalogId, string skey)
{
string cmdText = "SELECT * FROM Photos ORDER BY Id DESC";
string cmdText1 = "SELECT * FROM Photos ORDER BY Id DESC";
if (sCatalogId != null || skey != null)
{
cmdText = "SELECT * FROM Photos where CatalogId=" + sCatalogId + " ORDER BY Id DESC";

cmdText1 = "SELECT * FROM Photos where name like '%" + skey +"%' ORDER BY Id DESC";
}
}
思路大概应这样,对于你这一问题,我没上机测试对不对.
ZJM2032 2009-11-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ysmz555 的回复:]
private void GetProducts(string sCatalogId, string skey)
    {
        string cmdText = "SELECT * FROM Photos ORDER BY Id DESC";
        if (sCatalogId != null || skey != null)
        {
            cmdText = "SELECT * FROM Photos where CatalogId=" + sCatalogId + " ORDER BY Id DESC";
     
            cmdText = "SELECT * FROM Photos where name like '%" + skey +"%' ORDER BY Id DESC";
        }
    }

[/Quote]

一次写两个cmdtext这样不行的吧?
ysmz555 2009-11-27
  • 打赏
  • 举报
回复
private void GetProducts(string sCatalogId, string skey)
{
string cmdText = "SELECT * FROM Photos ORDER BY Id DESC";
if (sCatalogId != null || skey != null)
{
cmdText = "SELECT * FROM Photos where CatalogId=" + sCatalogId + " ORDER BY Id DESC";

cmdText = "SELECT * FROM Photos where name like '%" + skey +"%' ORDER BY Id DESC";
}
}
ZJM2032 2009-11-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gaind 的回复:]
CatalogId = !String.IsNullOrEmpty(Request.Params["CatalogId"].ToString())?Request.Params["CatalogId"].ToString():String.Empty;
tkeyword =  !String.IsNullOrEmpty(Request.Params["Keyword"].ToString())?Request.Params["Keyword"].ToString():String.Empty;
[/Quote]

用这个还是有错误啊,一样的//未将对象引用设置到对象的实例
ZJM2032 2009-11-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 angel6709 的回复:]
问题,哎,太多了。。。。
if(Request.Params["CatalogId"]!=null)
{
CatalogId = Request.Params["CatalogId"].ToString();
}
        if (sCatalogId != null)
        {
            cmdText = "SELECT * FROM Photos where CatalogId=" + sCatalogId + " ORDER BY Id DESC";
        }
        esle if (skey != null)
        {
            cmdText = "SELECT * FROM Photos where name like '%" + skey +"%' ORDER BY Id DESC";
        }

[/Quote]谢谢啦,我之前也是这么写的,但是没效果,所以我才去掉的
朕赐你肥皂 2009-11-27
  • 打赏
  • 举报
回复
CatalogId = !String.IsNullOrEmpty(Request.Params["CatalogId"].ToString())?Request.Params["CatalogId"].ToString():String.Empty;
tkeyword = !String.IsNullOrEmpty(Request.Params["Keyword"].ToString())?Request.Params["Keyword"].ToString():String.Empty;
angel6709 2009-11-27
  • 打赏
  • 举报
回复
问题,哎,太多了。。。。
if(Request.Params["CatalogId"]!=null)
{
CatalogId = Request.Params["CatalogId"].ToString();
}
if (sCatalogId != null)
{
cmdText = "SELECT * FROM Photos where CatalogId=" + sCatalogId + " ORDER BY Id DESC";
}
esle if (skey != null)
{
cmdText = "SELECT * FROM Photos where name like '%" + skey +"%' ORDER BY Id DESC";
}
xueyuyang 2009-11-27
  • 打赏
  • 举报
回复
CatalogId = Request.Params["CatalogId"].ToString(); //未将对象引用设置到对象的实例。

tkeyword = Request.Params["Keyword"].ToString(); //未将对象引用设置到对象的实例。
这里就应该判断。Request.Params["CatalogId"]. Request.Params["Keyword"].这2个参数任何一个为空的话ToString().都是会报错的,空对象如何能执行Tostring()方法呢?

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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