ASP.NET 2.0的 GridView中模板列绑定DropDownList的数据处理

 

 WebUserControl.ascx:


前台:

<% @ Control Language = " C# "  AutoEventWireup = " true "  CodeFile = " WebUserControl.ascx.cs "  Inherits = " Demo_GV_WUC_WebUserControl "   %>
< div style = " white-space:nowrap " >
    
< asp:dropdownlist id = " ddlValue "  runat = " server "  
        onselectedindexchanged
= " ddlValue_SelectedIndexChanged "   />     
</ div >

后台:

 

public   partial   class  Demo_GV_WUC_WebUserControl : System.Web.UI.UserControl
{
    
/// <summary>
    
/// 主键ID
    
/// </summary>

    public int PID
    
{
        
set { ViewState["Id"= va lue; }
        
get return ViewState["Id"== null ? 0 : Int32.Parse(ViewState["Id"].ToString()); }
    }


    
/// <summary>
    
/// 下拉框赋值
    
/// </summary>

    public string Value
    
{
        
set { ViewState["Value"= value; }
        
get return ViewState["Value"== null ? "0" : ViewState["Value"].ToString(); }
    }


    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            ddlValue.Items.Add(
new ListItem("中国""0"));
            ddlValue.Items.Add(
new ListItem("美国""1"));
            ddlValue.Items.Add(
new ListItem("法国""2"));

            ddlValue.SelectedValue 
= Value;
        }

    }


    
protected void ddlValue_SelectedIndexChanged(object sender, EventArgs e)
    
{
        
string sql = @"UPDATE [MySpace].[dbo].[T4] SET [Value] = '{0}' WHERE [ID] = {1}";

        
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MySpaceDB"].ConnectionString))
        
{
            conn.Open();
            SqlCommand comm 
= new SqlCommand(string.Format(sql, ddlValue.SelectedValue, PID.ToString()), conn);
            
if (comm.ExecuteNonQuery() > 0)
            
{   
                Thread.Sleep(
500);
            }

        }
        
    }

}

GridView.aspx:

前台:

 

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default.aspx.cs "  Inherits = " Demo_GV_WUC_Default "   %>

<% @ Register src = " WebUserControl.ascx "  tagname = " WebUserControl "  tagprefix = " uc1 "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
    
< title > GridView with WebUserControl </ title >
    
< style type = " text/css "  media = " screen " >
        
*
        
{
            magin: 
0;
            padding: 
0;
        }

        .block
        
{
            margin: 10px;
            padding: 10px;
            border: 1px solid #d1d1d1;
        }

    
</ style >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
    
< asp:scriptmanager id = " ScriptManager1 "  runat = " server " >
    
</ asp:scriptmanager >
    
< asp:updatepanel id = " UpdatePanel1 "  runat = " server " >
        
< contenttemplate >
            
< div style = " width: 80%; margin: 20px auto auto auto; " >
                
< div  class = " block " >
                    
< asp:label id = " Label1 "  runat = " server "  font - bold = " True "  font - size = " Large "  forecolor = " #6699FF "
                        text
= " GridView + WebUserControl " ></ asp:label >
                
</ div >
                
                
< div  class = " block " >
                    
< asp:gridview id = " GridView1 "  autogeneratecolumns = " false "   runat = " server " >
                        
< columns >
                            
< asp:boundfield datafield = " id "  headertext = " ID "   />                            
                             
< asp:templatefield headertext = " VALUE " >                                 
                                
< itemtemplate >
                                    
< uc1:webusercontrol id = " myWebUserControl "  PID = ' <%# Eval("ID")%> '  Value = ' <%# Eval("Value")%> '  runat = " server "   />
                                
</ itemtemplate >
                             
</ asp:templatefield >
                        
</ columns >
                    
</ asp:gridview >
                    
< asp:button id = " Button1 "  runat = " server "  text = " PostBack "   />
                
</ div >
            
</ div >         
        
</ contenttemplate >
    
</ asp:updatepanel >
    
</ form >
</ body >
</ html >

后台:

 

public   partial   class  Demo_GV_WUC_Default : System.Web.UI.Page
{
    
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            
string sql = @"SELECT [ID],[Value] FROM [MySpace].[dbo].[T4]";

            
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MySpaceDB"].ConnectionString))
            
{
                SqlDataAdapter adp 
= new SqlDataAdapter(sql, conn);
                DataSet ds 
= new DataSet();
                adp.Fill(ds);
                
if (ds.Tables.Count > 0)
                
{
                    GridView1.DataSource 
= ds.Tables[0];
                    GridView1.DataBind();
                    Thread.Sleep(
1000);
                }
              
            }
     
        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值