我要从主页显示默认的二级菜单,如果用户不点击一级栏目,就默认MenuID=1
但我的程序不对!请高手指点!
我的例如:default.aspx 执行时程序默认MENUID=1
当用户电机了栏目default.aspx?MenuID=5,则现实相应的menuID=X
string @MenuID=Request["MenuID"];
if(@MenuID == "")
{
SqlConnection myConnection = new SqlConnection("server=127.0.0.1;database=misweb;uid=sa;pwd=123456");
SqlDataAdapter myCommand = new SqlDataAdapter("select * from menuItem where MenuID=1",myConnection); DataSet ds = new DataSet();
myCommand.Fill(ds,"menuItem"); DataList2.DataSource = ds.Tables["menuItem"].DefaultView;
DataList2.DataBind();
}
else
{
SqlConnection myConnection = new SqlConnection("server=127.0.0.1;database=misweb;uid=sa;pwd=123456");
SqlDataAdapter myCommand = new SqlDataAdapter("sp_menuItem",myConnection);
myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@MenuID",SqlDbType.Int));
myCommand.SelectCommand.Parameters["@MenuID"].Value = Request["MenuID"];
DataSet ds = new DataSet();
myCommand.Fill(ds,"menuItem"); DataList2.DataSource = ds.Tables["menuItem"].DefaultView;
DataList2.DataBind();
但我的程序不对!请高手指点!
我的例如:default.aspx 执行时程序默认MENUID=1
当用户电机了栏目default.aspx?MenuID=5,则现实相应的menuID=X
string @MenuID=Request["MenuID"];
if(@MenuID == "")
{
SqlConnection myConnection = new SqlConnection("server=127.0.0.1;database=misweb;uid=sa;pwd=123456");
SqlDataAdapter myCommand = new SqlDataAdapter("select * from menuItem where MenuID=1",myConnection); DataSet ds = new DataSet();
myCommand.Fill(ds,"menuItem"); DataList2.DataSource = ds.Tables["menuItem"].DefaultView;
DataList2.DataBind();
}
else
{
SqlConnection myConnection = new SqlConnection("server=127.0.0.1;database=misweb;uid=sa;pwd=123456");
SqlDataAdapter myCommand = new SqlDataAdapter("sp_menuItem",myConnection);
myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@MenuID",SqlDbType.Int));
myCommand.SelectCommand.Parameters["@MenuID"].Value = Request["MenuID"];
DataSet ds = new DataSet();
myCommand.Fill(ds,"menuItem"); DataList2.DataSource = ds.Tables["menuItem"].DefaultView;
DataList2.DataBind();
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: 程序 'sp_menuItem' 预期使用未提供的参数 '@MenuID'。Source Error:
你把这个@MenuID先换成其他的变量名
应为我调用存储过程的,所以我想先在首页默认显示MENUID=1
谢谢指教
SqlDataAdapter myCommand = new SqlDataAdapter("",myConnection);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "sp_menuItem";cmd.CommandType = CommandType.StoredProcedure;
SqlParameter sp = new SqlParameter("@MenuID",SqlDbType.Int);
sp.Value = Request["MenuID"];
cmd..Parameters.Add( sp );
myCommand.SelectCommand = cmd ;
myConnection.Open();DataSet ds = new DataSet();
myCommand.Fill(ds,"menuItem");
...
过程代码
CREATE PROCEDURE SO_MeunID @MenuID INT
SELECT * FROM SELECT MENUITEM WHERER MENUID=@MENUID
GO
申明了
过程代码
CREATE PROCEDURE sp_menuitem @MenuID INT
SELECT * FROM SELECT MENUITEM WHERER MENUID=@MENUID
GO
下面的找开数据库可以用一段代码来写:
前面可以写:
string @MenuID=Request["MenuID"];
if ( @MenuID == null )
{
@MenuID = 1;
}
下面是打开数据的代码1
你这段的错误可能是楼上所说的:Request["MenuID"] = null