मेरे पास चेकबॉक्स के कॉलम के साथ एक ग्रिड व्यू है (शेष ग्रिड व्यू डेटाबेस से पॉप्युलेट किया जा रहा है)। मैं विभिन्न कार्यों को करने के लिए AJAX का उपयोग कर रहा हूं, और मैं सोच रहा हूं कि क्या मैं सही जगह पर ऑनचेक किए गए चेंज ईवेंट को कॉल नहीं कर रहा हूं। क्या इसे किसी प्रकार के UpdatePanel में लपेटा जाना चाहिए? मैं अभी भी वास्तव में नया हूं कि यह सब कैसे काम करता है ... मूल रूप से मेरा लक्ष्य यह है कि जब चेकबॉक्स चेक किया जाता है तो मेरे डेटाबेस में थोड़ा सा मूल्य बदलना होता है। मुझे यह कैसे करना है इसका तर्क पता है, मुझे नहीं पता कि मैं अपने ऑनचेक किए गए चेंज किए गए ईवेंट को सही तरीके से संबोधित कर रहा हूं या नहीं।

.सीएस

        protected void CheckBoxProcess_OnCheckedChanged(Object sender, EventArgs args)
    {
        CheckBox checkbox = (CheckBox)sender;
        GridViewRow row = (GridViewRow)checkbox.NamingContainer;
        OrderBrowser.Text += "CHANGED";
    }


    }

.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
        <asp:DropDownList runat="server" ID="orderByList" AutoPostBack="true">
            <asp:ListItem Value="fName" Selected="True">First Name</asp:ListItem>
            <asp:ListItem Value="lName">Last Name</asp:ListItem>
            <asp:ListItem Value="state">State</asp:ListItem>
            <asp:ListItem Value="zip">Zip Code</asp:ListItem>
            <asp:ListItem Value="cwaSource">Source</asp:ListItem>
            <asp:ListItem Value="cwaJoined">Date Joined</asp:ListItem>
        </asp:DropDownList>
    </div>
    <div>
        <asp:Label runat="server" ID="searchLabel" Text="Search For: " />
        <asp:TextBox ID="searchTextBox" runat="server" Columns="30" />
        <asp:Button ID="searchButton" runat="server" Text="Search" />
    </div>
<div>
<asp:UpdatePanel ID = "up" runat="server">
<Triggers>
    <asp:AsyncPostBackTrigger ControlID = "orderByList"
    EventName="SelectedIndexChanged" />
     <asp:AsyncPostBackTrigger ControlId="searchButton" EventName="Click" />
</Triggers>

<ContentTemplate>
<div align="center">
    <asp:GridView ID="DefaultGrid" runat = "server" DataKeyNames = "fName"
    onselectedindexchanged = "DefaultGrid_SelectedIndexChanged"
    autogenerateselectbutton = "true" 
    selectedindex="0">
    <SelectedRowStyle BackColor="Azure"
    forecolor="Black"
    font-bold="true" />
    <Columns>
    <asp:TemplateField HeaderText="Processed">
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBoxProcess" runat="server" Enabled="true" OnCheckedChanged = "CheckBoxProcess_OnCheckedChanged" />
                </ItemTemplate>
            </asp:TemplateField>

    </Columns>
    </asp:GridView>
    </div>
    <asp:TextBox ID="OrderBrowser" columns="100" Rows="14" runat="server" Wrap="false" TextMode="MultiLine" ReadOnly = "true">
    </asp:TextBox>
    </ContentTemplate>
    </asp:UpdatePanel>



</div>
</form>
32
Hani Honey 6 जुलाई 2011, 17:00

2 जवाब

सबसे बढ़िया उत्तर

चेकबॉक्स नियंत्रण के लिए AutoPostBack को चालू करने का प्रयास करें।

<asp:CheckBox ID="CheckBoxProcess" runat="server" Enabled="true" OnCheckedChanged = "CheckBoxProcess_OnCheckedChanged" AutoPostBack="true" />

शायद यही कारण है कि आपकी विधि को नहीं बुलाया जा रहा है।

72
JConstantine 6 जुलाई 2011, 17:05
जब मैं ऐसा करता हूं तो चेक 2 सेकंड के लिए प्रकट होता है, और फिर गायब हो जाता है। क्या यह ऐसा ही हो सकता है क्योंकि मैं डेटाबेस में कुछ भी प्रबंधित नहीं कर रहा हूं? मैं चाहता हूं कि यह तब हो जब डीबी में एक निश्चित मूल्य हो, चेक या तो प्रकट होता है या गायब हो जाता है। हालांकि, मेरा टेस्ट कोड यह नहीं दिखा रहा है कि विधि को या तो कहा जा रहा है ...
 – 
Hani Honey
6 जुलाई 2011, 17:08
संभवतः, कार्यक्षमता की जांच करने के लिए कुछ डमी डेटा दर्ज करना उचित है।
 – 
JConstantine
6 जुलाई 2011, 17:15
मैं इसका परीक्षण कर रहा था, और परीक्षण कुछ भी नहीं दिखा रहा था :(
 – 
Hani Honey
6 जुलाई 2011, 18:09

कृपया डीबी के साथ मूल्य की जांच करने का प्रयास करें:

Checked='<%# Convert.ToBoolean(Eval("Processed")) %>'

-2
Erwin 10 अक्टूबर 2012, 22:05