动态链接按钮单击事件 [英] Dynamically Linkbutton Click Event

查看:55
本文介绍了动态链接按钮单击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello Friends,

我有代码,通过点击动态生成的链接按钮,从Session中的数据库中获取值。我想将这些值重定向到另一个页面,我的代码就在这里..



Hello Friends,
I have code, to pick up the, values from database in Session, By Clicking on Dynamically Generated Linkbutton. I want to redirect those values to another page, my code is here..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;

public partial class Dynamic_link : System.Web.UI.Page
{
    SqlConnection cnn = new SqlConnection();
    protected void Page_Load(object sender, EventArgs e)
    {
        cnn.ConnectionString=ConfigurationManager.ConnectionStrings["jin"].ConnectionString;
        if(cnn.State==ConnectionState.Closed)
        {
            cnn.Open();
        }  
        SqlCommand cm = new SqlCommand("select itemname from menu", cnn);  
          cm.CommandType = CommandType.Text;  
         SqlDataAdapter da = new SqlDataAdapter(cm);
        DataSet dt = new DataSet();
        da.Fill(dt);
         Repeater Repeater1 = new Repeater();
        Repeater1.DataSource = dt;
        Repeater1.DataBind();
        if (cnn.State == ConnectionState.Open)
        {
            cnn.Close();
        }  
        foreach (RepeaterItem repeatItem in Repeater1.Items)
        {
            // if condition to add HeaderTemplate Dynamically only Once  
            if (repeatItem.ItemIndex == 0)
            {
                RepeaterItem headerItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Header);
                HtmlGenericControl hTag = new HtmlGenericControl("h4");
               hTag.InnerHtml = "Menu Collection";
                repeatItem.Controls.Add(hTag);
            }

            // Add ItemTemplate DataItems Dynamically  
            //SqlDataReader dr = Int32.Parse;
            RepeaterItem repeaterItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Item);
            LinkButton lnk = new LinkButton();
            lnk.ID = "lnk_itemname";
            lnk.Text = String.Format("{0}",(dt.Tables[0].Rows[repeatItem.ItemIndex]["itemname"]));
            lnk.Click += new System.EventHandler(link_Click);
            repeatItem.Controls.Add(lnk);
           // Add SeparatorTemplate Dynamically  
            repeaterItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Separator);
            LiteralControl ltrlHR = new LiteralControl();
            ltrlHR.Text = "<hr />";
            repeatItem.Controls.Add(ltrlHR);
        }

        // Add Repeater Control as Child Control  
        // of Panel Control  
        Panel1.Controls.Add(Repeater1);  
    }

    protected void link_Click(object sender, EventArgs e)
    {
        cnn.ConnectionString = ConfigurationManager.ConnectionStrings["jin"].ConnectionString;
       SqlDataAdapter da = new SqlDataAdapter();
        da.SelectCommand = new SqlCommand("str_get_subitemDetails", cnn);
        da.SelectCommand.CommandType = CommandType.StoredProcedure;
         DataSet ds = new DataSet();
         DataTable dt = new DataTable("submenu");
        da.Fill(dt);

        Session["subitem_name"] = dt.Rows[0]["subitem_name"].ToString();
        Session["item_descript"] = dt.Rows[0]["item_descript"].ToString();
        Session["item_rate"] = dt.Rows[0]["item_rate"].ToString();
        Response.Redirect("getsubitem.aspx");
    }
    
    
}





我的StoredProcedure代码如下:



My StoredProcedure Code is this:

USE [JIN]
GO
/****** Object:  StoredProcedure [dbo].[str_get_subitemDetails]    Script Date: 03/06/2013 16:51:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[str_get_subitemDetails]
@item_id nvarchar(50),
@itemname nvarchar(50),
@subitem_name nvarchar(50),
@item_descript nvarchar(100),
@item_rate decimal(18,2)
as
begin
select submenu.subitem_name,submenu.item_descript,submenu.item_rate from submenu join menu on menu.item_id=submenu.item_id where menu.itemname=@itemname
end





我正面对此错误...

否映射存在于对象类型ASP.dynamic_link_aspx到已知的托管提供者本机类型。

请帮助我





面对错误:

过程或函数''str_get_subitemDetails''需要参数''@item_id'',这是未提供的。



请帮助:



I m Facing this error...
No mapping exists from object type ASP.dynamic_link_aspx to a known managed provider native type.
Please Help me


Facing error:
Procedure or function ''str_get_subitemDetails'' expects parameter ''@item_id'', which was not supplied.

please help:

推荐答案

请检查如何向SqlCommand添加参数:SqlParameterCollection.AddWithValue [ ^ ]。

提示:您需要传递5个参数;)
Please, check how to add parameters to SqlCommand: SqlParameterCollection.AddWithValue[^].
Hint: You need to pass 5 parameters ;)


这篇关于动态链接按钮单击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆