"> "> " />

Ob'ekt ob'ekt namunasiga o'rnatilgan ob'ekt

Men bir kun bu haqda boshimni chizib yubordim va yordamga muhtoj edim. Menda GridView bor va ma'lumotlar bazasi maydoniga asoslangan satrning orqa rangini o'zgartirmoqchiman. JB maydon "Faol emas".

Quyidagi belgilar:


           
        
            
                <div class="wlMessage">
                    
                    
                </div>
                
                
                
                
                

Kodi:

protected void WishListGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
       HiddenField hf = (HiddenField)e.Row.FindControl("InActiveHF");
       if (hf.Value == "True")
       {
       }
    }
}

Xato olaman:

Ob'ekt namunasi ob'ektning bir misoliga o'rnatilmagan. "

bir chiziq

if (hf.Value == "True")

Har bir inson nima uchun bu sodir bo'layotgani haqida biron-bir fikrga ega emasmi?

1

2 javoblar

HiddenField-ning Id kodi va kodida mos kelmasligi bor. Buni foydalaning:

HiddenField hf = (HiddenField)e.Row.FindControl("InactiveHF");
5
qo'shib qo'ydi

Umumiy holatda, NullReferenceException ni oldini olish uchun nullga qarshi tekshiring:

HiddenField hf = (HiddenField)e.Row.FindControl("id");
if (hf != null && hf.Value == Boolean.TrueString)
{
}
else
{
   //handle on your own, e.g.:
    throw new InvalidOperationException("Control not found");
}
2
qo'shib qo'ydi
@ user1018535: Xursand bo'ldim! :) Shuningdek qarang
qo'shib qo'ydi muallif abatishchev, manba
.. va shu usul ham xatolarni juda oson yashirishi mumkin, shuning uchun "ish" bo'lishi mumkin [istisno qilmaslik], u ham jimgina emas, balki ishlashi mumkin .. faqat FindControl null ( noyob bir voqea tajribamda) kutilgandir. Bunday holda, ushbu yechim/yondashuv [ehtimol] joriy dasturiy xatolarning xabar qilinishini oldini oladi .
qo'shib qo'ydi muallif user166390, manba
Siz ishlaganingiz uchun javob berasiz! Rahmat juda ko'p!
qo'shib qo'ydi muallif Enrico, manba