不会发生自动回发

不会发生自动回发

本文介绍了C#中的Checkbox不会发生自动回发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我在gridview中有两个复选框.当单击第一个复选框时,不会发生自动回发.如何操作.请参见下面的代码-

ASPX页面-

Hi,

I have two check box inside gridview.While clicking on first check box Autopostback is not happening.How to do.Please see my below code--

ASPX Page--

<asp:TemplateColumn HeaderStyle-Width="60px" HeaderStyle-CssClass="gridheader">
                                <ItemStyle HorizontalAlign="Center" />
                                <HeaderTemplate>
                                    Is Omani
                                </HeaderTemplate>

                                <ItemTemplate>

                                    <asp:CheckBox ID="chkIsOmani" CssClass="CheckBox" runat="server" Checked='<%#Bind("IsOmani") %>'

                                        OnCheckedChanged="chkIsOmani_CheckedChanged" AutoPostBack="true"   />

                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderStyle-Width="60px" HeaderStyle-CssClass="gridheader">
                                <ItemStyle HorizontalAlign="Center" />
                                <HeaderTemplate>
                                    Is SME
                                </HeaderTemplate>
                                <ItemTemplate>
                                    <asp:CheckBox ID="chkIsSME" CssClass="CheckBox" runat="server" Checked='<%#Bind("IsSME") %>' ToolTip="IS SME can be selected only if IS Omani is selected"  />
                                </ItemTemplate>
                            </asp:TemplateColumn>




.CS页面---




.CS Page---

public string CheckOmaniData()
    {
        string _Items = "";
        foreach (DataGridItem _item in dgServices.Items)
        {
            CheckBox chkIsOmani = (CheckBox)_item.FindControl("chkIsOmani");
            CheckBox chkIsSME = (CheckBox)_item.FindControl("chkIsSME");



            if (chkIsOmani.Checked)
            {

                _Items = _Items + _item.Cells[0].Text + ",";


                chkIsSME.Enabled = true;
                chkIsSME.Attributes.Add("onclick", "return true;"); // To retain the value like enabling
            }
            else
            {
                _Items = _Items + _item.Cells[0].Text + ",";

                //chkIsSME.Enabled = false;
                chkIsSME.Attributes.Add("onclick", "return false;"); //To retain original value like disabling
                chkIsSME.Checked = false;

            }


        }
        return _Items.Substring(0, _Items.Length - 1);
    }

    protected void chkIsOmani_CheckedChanged(object sender, EventArgs e)
    {

        CheckOmaniData();
    }

推荐答案

void ProductsGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
 {
   // CommandName property to determine which button was clicked.
   if(e.CommandName=="check1")
   {
     // code on checkbox select
   }
}




谢谢,
Bh @ gyesh




Thanks,
Bh@gyesh


这篇关于C#中的Checkbox不会发生自动回发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 01:31