首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

依据值的不同,在gridview 模板列显示不同的内容

2012-09-01 
根据值的不同,在gridview 模板列显示不同的内容后台代码:C# codeif (Request.QueryString[Rid] ! null)

根据值的不同,在gridview 模板列显示不同的内容
后台代码:

C# code
if (Request.QueryString["Rid"] != null)                {                    string k = "0";//控制是否签收                    DataSet ds = B_FileInfo1.GetList(" and a.id='" + Request.QueryString["Rid"] + "'");                    if (ds.Tables[0].Rows[0]["ReadStatue"].ToString() != "")                    {                        string[] fread = ds.Tables[0].Rows[0]["ReadStatue"].ToString().TrimEnd(',').Split(',');                        for (int i = 0; i < fread.Length; i++)                        {                            if (fread[i] == Session["Townid"].ToString())                            {                                k = "1";                                模板列显示“已签收”!!                                                            }                        }                    }                    if (k == "0")                    {                        bool falg = B_FileInfo1.UpdateRead(Session["Townid"].ToString() + ",", Request.QueryString["Rid"].ToString());                        if (falg)                        {                            DBUtility.CRCommon.Show(this, "签收成功!");                        }                    }                }


前台aspX
HTML code
<asp:TemplateField HeaderText="签收">                                <EditItemTemplate>                                    <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>                                </EditItemTemplate>                                <ItemTemplate>                                    <a href='<%#"My.aspx?Rid="+Eval("id") %>'>签收</a>                                </ItemTemplate>                            </asp:TemplateField>




我想要效果是,当后台k=1时,在模板列显示“已签收”,当k=0时,在模板显示“签收”链接(也就是保持不变)

[解决办法]
HTML code
<ItemTemplate>                                                                            <asp:Label ID="lab_ID" runat="server" Text='<%#GetOrganization(DataBinder.Eval(Container.DataItem, "OrganizationLevel").ToString(),DataBinder.Eval(Container.DataItem, "OrganizationID").ToString()) %>'></asp:Label>                                                                        </ItemTemplate>
[解决办法]
<ItemTemplate>
<a href='<%#"My.aspx?Rid="+Eval("id") %>'>签收</a>
</ItemTemplate>

这里换成LinkButton然后在gridview的行绑定事件里面
LinkButton lbtn = e.Row.FindControl("LinkButton1") as LinkButton;根据你的if条件赋值

热点排行