Kategori Arşivleri: jQuery ve SharePoint

SharePoint çabuk denize indirmek içinde göreli URL'ler ile can sıkıcı bir sorun üstesinden gelmek

Hızlı başlatma gezinti geçen gün bir bağlantı eklemek istedim ve SharePoint söyledi:

image

Saf metin sürümü:

URL geçerli ve geçersiz bir karakter ya da ile başlar emin olun (numara işareti (#) ya da eğik çizgi (/)) veya geçerli bir iletişim kuralını destekleyen (Örneğin, ' http://’, ' https://’, ' dosya://’, ' ftp://’, ' mailto:’, ' Haberler:’).

"Blech ve çiçeği!"Dedim.

Bu geçici bir çözüm bulmak bilinen bir bağlantı-e doğru çabuk denize indirmek içinde ve davranışını geçersiz kılmak için JavaScript kullanmaktır.

Bu test etmek için, thusly, testi sitenize yeni bir bağlantı eklemek:

image

JQuery kullanılan. Bunu çözmek için, biraz JavaScript ve jQuery favori tekniği kullanarak sayfaya ve bu kod satırını ile:

 

$(Belge).hazır( işlevi () {

    $("bir:içerir('Test URL değiştirme')").' ı tıklatın(işlevi () { Uyarı("Değiştirilen tıklayın davranış!"); geri dönmek yanlış;});

});

Amcan Bob.

JQuery seçimi bulur her <bir> adını "Test URL değiştirme" olan etiket. Sen-ebilmek istemek-bul-bağlı olarak, bağlantı ve bu tune için.

Devamı(işlevi() Ne zaman kullanıcı tıkırtı ne SharePoint yapardı geçersiz kılar. Ya da yanlış "geri" Bu şeyler yapmak ve href şey de denemek emin olun, hangi hedef neredeyse kesin değil mi.

Bu yapıldı ve bir SharePoint çevrimiçi ortamda test ama gerektiğini iyi iş 2010 ve daha önce de.

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Hızlı ve basit: "Geçersiz URL parametresi çözmek” lists.asmx UpdateListItems ile sorun

UpdateListItems ile lists.asmx yolu ile çalışırken, hata oluşturmak çok kolaydır:

Geçersiz URL parametresi.

Sağlanan URL geçersiz bir komut veya değeri içerir.. Lütfen URL'yi yeniden denetleyin.

Kimliği alanına dahil etmek boş zaman bu hatayı alabilirsiniz güncelleştirmek için alan listesi.  Bu, Bu SP web hizmetleri çok gibi, Kimliği özniteliğinde kimliği eklemeniz gerekir beri biraz counterintuitive olduğunu <Yöntemi> öğe.  Ve sen kimliği güncelleme ve muhtemelen ilk etapta istiyorum asla.

Bu SOAP Zarf works:

<soapenv:Zarf xmlns:soapenv =' http://schemas.xmlsoap.org/SOAP/Envelope/'>
  <soapenv:Vücut>                      
    <UpdateListItems xmlns =' http://schemas.microsoft.com/SharePoint/SOAP/'>                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <güncelleştirmeleri>                     
         <Toplu OnError ="Devam">
          <Yöntem kimliği ="1" Cmd ="Güncelleştirme">
            <Alan adı ="CooperativeLock">kilitli!</Alan>
            <Alan adı ="KİMLİĞİ">1</Alan>
          </Yöntemi>
        </Toplu iş>                     
        </güncelleştirmeleri>                
      </UpdateListItems>             
  </soapenv:Vücut>         
</soapenv:Zarf>

Eğer kimliği alanı başvurusu şerit sataşmak "Geçersiz URL parametresi" iletisini alırsınız:.

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

 

Zavallı adam, JavaScript önbelleğe alma'nın

[TL;DR sürüm: zaman uyumsuz arama sonuçlarını depolamak için tanımlama; Geçmiş zaman uyumsuz arama sonuçlarını hemen işlemek ve sonra onları sayfa yükleme sonra doğrulayın.]

SharePoint intranet sitesindeki bir müşteri için bu özellikleri çalıştım, diğer şeyler arasında, stilize bir ikincil gezinti menüsü seçeneklerini düzenli eski özel liste yönetilir.  Fikir istemci etkileyen veya onun tarafından koymak Genel gezinti tarafından etkilenen varlık olmadan "kendi" sitenin menü kontrol etmek alır.

(Bu temelde bir sitenin davranış hakkında hemen hemen her şeyi değiştirmek için bazı CSS ve JS yükler ama bu başka bir yazı için bir HTML dosyasına işaret eden bir CEWP ekleme konusunda son derece yıkıcı bir şey)

Bu basit kodu:

Sore spot burada olduğunu ne zaman kimse bir sitenin sayfaları hits, kullanıcının web tarayıcısı listeden öğeleri almak için dışarı ulaşıyor.  Tam ve test dev bir kez şeyler olduğu için stabil ve tam kanıtlamıştır, Buna gerek yok daha fazla 99% zamandan beri menü nadiren değişir.  Ayrıca bu cesur yeni dünya hiper-ajaxy web sitelerinin ortak bir garip UI etkiler vardır – sayfa oluşturur ve ancak o zaman menü hale geliyor.  Gergin ve rahatsız edici benim görüşüme göre.  Ve gergin. Yani, önbelleğe alma. 

Thusly mantığı modifiye:

  • Ben son okurken, menüyü içeren tarayıcı çerezde arayın
    • Eğer bulundu, Bunu hemen işleme.  Sayfa yükleme bitirmesini beklemek gerekmez.  (HTML burada stratejik olarak yerleştirilmiş emin olmanız gerekir, Ama bu kadar da zor değil).
  • Sayfanın yüklenmesini bitirmek ve bir zaman uyumsuz yük kadar dinlenme ya da lists.asmx kullanarak listeden menü öğeleri için arama yapmak bekleyin
  • Çerez karşı elimizdeki karşılaştırın
    • Eşleşiyorsa, DURDUR
    • Aksi takdirde, jQuery kullanarak, Eğer bir grup dinamik olarak doldurmak <Li>' ın içinde bir <ul>
  • Tüm biçimlendirme için CSS kullanma
  • Kar!

Bazılarınız söyleyeceksin, "hey! menü yine de okuduğunuz bu yana çok önbellekleme burada olmayacak her zaman.”  Ve haklısın-break herhangi bir sunucu vermiyorum.  Ama çağrı zaman uyumsuz ve sonra sayfayı ilk olur çünkü HTML yükü tam olarak işler, "kullanıcıya daha duyarlı hissediyorum".  Menü çok sayfa çizer olarak işler.  Eğer menü değiştirmek için, kullanıcı bir gergin yeniden çizmek menü için tabi tutulur, Ama sadece bir kere.

Bu önbelleğe alma daha verimli hale getirmek ve aynı zamanda sunucu yardım için bazı yolları vardır.:

  • "Tanımlama bilgisi önbelleği" için en az geçerli bir kural koymak 24 Saat veya diğer bir süre. Süresi dolan kurabiye yok sürece, Çerezin menü anlık kullanın ve asla sunucu hit.

Şu an aklıma gelen tek şey... :). 

Kimse burada akıllı bir fikrin varsa onları bilmek isterdim..

Ve son olarak – bu yöntem-ebilmek var olmak kullanılmış için diğer şeyler.  Bu istemcinin sayfa verilere şeylerin bir dizi çeşitli sayfalarda vardır., pek çoğu nispeten nadiren değiştirme (haftada bir veya ayda bir gibi).  İşlevselliği belirli alanları hedefliyorsanız, daha duyarlı bir kullanıcı Arabirimi yerel tanımlama bilgisi deposundan içerik çekme ve hemen işleme verebilir.  Sunucu herhangi bir devir kurtarmıyorsun bile daha hızlı kullanıcıya hissediyor.  Sen Can sunucu döngüsü bu yerel tanımlama bilgisi önbelleği geçersiz kılmak için bazı koşullar ve tetikleyiciler karar vererek kaydedin.  Tüm durumsal ve iddialı şeyler ve gerçekten en eğlenceli :). 

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

xslt ve jQuery örnekleri

Ben, XSLT ve jQuery ve diğerleri gelecekte yararlı olabilir birkaç pasaj paylaşmak düşündüm bir sürü yapıyor.

Örnek 1: Basit JavaScript yayarlar / XSLT'de jQuery:

<XSL:şablon eşleme "bir şeyler =" XML:Uzay = "korumak">

  <!– Sorgu dostu filtreler gizli alanı boş –>
  <komut dosyası türü "metin/javascript" =>
    $(Belge).hazır(işlevi(){
      $("#QueryFriendlyFilters").Val("boş");
    });
  </komut dosyası>

</XSL:Şablon>

Bu sayfa yükleme bitirmesini bekler bazı JavaScript yayar (Çünkü $(Belge).hazır(…)) ve sonra gizli alan değerini QueryFriendlyFilters hazır bilgi değeri "boş" adlandırılmış kümeleri.

Örnek 2: Kullanımı <XSL:Eğer> "daha büyük" kontrol etmek için,  "daha az", vb.

<XSL:şablon eşleme "bir şeyler =" XML:Uzay = "korumak">

  <div id = "fdcAllFilters">
 
    <XSL:Eğer test="@Count>0">
      <span class = "fdcFilterLabel">Geçerli filtreleri:</yayılma>
    </XSL:Eğer>

    <!– Burada daha fazla şeyler olur. –>

</XSL:Şablon>

Yukarıdaki pasajı "Count"bir şey"unsuru" adlı bir öznitelik sıfırdan büyük olup olmadığını görmek için denetler.  Bunun arkasında XML gibi bir şey olurdu.:”

<bir şey saymak "5" = />

Örnek 3: Tüm öğeleri boyunca yineleme yapmak, jQuery aramalar Interspersing.

<!– Tüm filtreler aracılığıyla yinelemek ve doğru görüntüleme  Linkler. –>
<XSL:için her select = "UserFilter">

  <bir sınıf "FilterHref =" href = "javascript:mySubmitPage('RemoveUserFilter','{@ID}’)">[X]</bir>

  <span class = "fdcFilterLabel"><XSL:değer-in select="@FilterValue"/></yayılma>

  <komut dosyası türü "metin/javascript" =>

    $(Belge).hazır(işlevi(){
        <XSL:metin><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:metin>\"<XSL:değer-in select="@FilterValue"/>\"<XSL:metin><![CDATA["));]]></XSL:metin>
    });

  </komut dosyası>

</XSL:for-each>

Yukarıdaki pasajı en karmaşık ve orada-ebilmek var olmak daha kolay yolları.

Bunun arkasında XML kabaca şöyle görünür:

<UserFilter kimliği "123" FilterValue = "xyzzy" = />

Bu pasajı Nesnesi'nde <UserFilter> düğümler. 

İlk çapa yayar ki tag tıklatıldığında sayfasında bir JavaScript işlevi çağırır, "mySubmitPage" ve bir öznitelik değeri <UserFilter> düğüm "Kimlik" adında. 

Sonra da sayfanın yüklenmesini bekler bazı jQuery yayar.  Bu jQuery FilterValue özniteliğinin değeri ekleyerek "QueryFriendlyFilters" isimli bir gizli alanını güncelleştirir.  Not tüm deli <XSL:metin> ve <![CDATA[ … ]]> malzeme.

İşte bu, umut etmek bu yardım etmek!

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Lists.asmx, GetListItems ve klasörler

Birinin etrafında bugün SharePoint bir parçası olarak sağlanan list.asmx web hizmeti için bir araştırma yaptığını 2010 (ve önceki sürümleri).  O was güçlü-e doğru kök klasörde liste öğelerini almak için (alt klasörleri adları da dahil olmak üzere), öğeleri alt klasörlere alamadım ama.  Bazı Internets üzerinde etrafa yaptı ve şaşırtıcı ortak bir soru.  Henüz, Basit bir soru için iyi bir cevap alamadım., "Ben klasörü biliyorsanız, klasördeki öğelerin nasıl alabilirim?”  Dürüst olmak gerekirse, Ben kendi dışarı bu bir şekil bir süre istedim çünkü bu zor deneyin vermedi Gülümseme.

Bunu ayarlamak için, "Bloglama senaryoları" adlı bir site ve "Özel liste ile alt klasörler" adlı özel bir liste oluşturdum.  Sonra adlı klasör oluşturdu:

  • Yıl 2005
  • Yıl 2006
  • Yıl 2007

Ben birkaç öğe "2006 yılı" klasöre eklendi.  Ne gibi görünüyor olmasıdır.:

image

Arkadaşım değil ama C# kodu yazmak yerine Java yazılımını kullanma, Yani o gerçekten gerekli soap zarfının oldu.  Almak için, JQuery biraz yazdı ve fiddler kullanılmış gerçek http oturumu almak.

İşte ilgili jQuery (Kopyala/Yapıştır istiyorsanız kodu aşağı aşağıda kopyaladığım):

image

Onlar ilk anahtarıdır hem de içerecek şekilde bir <queryOptions> ve <QueryOptions> düğüm.  Bu ikinci anahtarıdır <Klasör> düğüm istemci erişimi olan bir url..

Bu almak için başka yollar olabilir, ama bu amele su kuyusu için beni ne zaman jQuery kullanarak.

İşte yukarıdaki için soap Zarfı:

<soapenv:Zarf xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’>                
  <soapenv:Vücut>
    <GetListItems xmlns =’
http://schemas.microsoft.com/SharePoint/SOAP/’>
      <listName>Alt klasörler içeren özel bir liste</listName>
      <viewFields>  
        <ViewFields>
          <FIELDREF Name =' başlığı’ />
          <FIELDREF Name ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Klasör>
http://demoserver1/blog Senaryo/listeleri/özel liste ile alt klasörler/yıl 2006</Klasör>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Vücut>
</soapenv:Zarf>

Örnekler ve bu tartışma çok bana tüm ihtiyacım olduğuna inanmak yol açtı <QueryOptions> ve bir klasör adı belirtin.  Benim için, [NULL]'Sarmak hem de içine <queryOptions> hem de tam bir url belirtin <Klasör> düğüm.

İşte jQuery ajax kurulumu:

$(Belge).hazır(işlevi() {
       var soapEnv =
           "<soapenv:Zarf xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’> \
               <soapenv:Vücut> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
                       <listName>Alt klasörler içeren özel bir liste</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FIELDREF Name =' başlığı’ /> \
                              <FIELDREF Name ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Klasör>http://demoserver1/Blogging Senaryo/listeleri/özel liste ile alt klasörler/yıl 2006</Klasör> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Vücut> \
           </soapenv:Zarf>";

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Lists.asmx, GetList ve "değeri null olamaz”

Bugün keşfettim bu GetList() yöntem lists.asmx Web hizmeti çok dikkatli bir şekilde çağrılacak ya da gizemli bir "Değer null olamaz" özel durum eğilimli (ve, sen-ebilmek almak daha kötü genel hata iletisi üstlenmektedir, "Özel durum türü ' Microsoft.SharePoint.SoapServer.SoapServerException’ atıldı.")  Özellikle, Ben GetList yöntemi herhangi bir önek sağlayamayacağını bulundu.  Aşağıdaki jQuery kod noktayı gösterir:

image

Bunu yaparsanız, "Değer bu aynı derecede boş olamaz ile" web hizmeti yanıt Fiddler-HTTP transkript sağlanan:

<?XML sürüm "1.0 =" kodlama = "utf-8"?>
  <sabun:Zarf
     xmlns:sabun ="
http://schemas.xmlsoap.org/SOAP/envelope/"    
     xmlns:XSI = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:XSD ="
http://www.w3.org/2001/XMLSchema">

  <sabun:Vücut>
    <sabun:Arıza>
      <faultCode>sabun:Sunucu</faultCode>
      <faultCode>
        Özel durum türü ' Microsoft.SharePoint.SoapServer.SoapServerException’ atıldı.
      </faultCode>
      <detay>
        <ErrorString xmlns ="
http://schemas.microsoft.com/SharePoint/SOAP/">
Değer null olamaz.
        </ErrorString>
      </detay>
    </sabun:Arıza>
  </sabun:Vücut>
</sabun:Zarf>

Elbette, muhtemelen bu "s0" öneki, kendi eklediğiniz olmaz, ama bazı araçlar yapmaya yatkındır (Eclipse gibi).

Bu daha fazla kafa karıştırıcı / diğer yöntemler önekleri tahammül, çünkü sinir bozucu.  Örneğin, the GetListCollection yöntem bu öneki varsa akıl almaz, "xyzzy" gibi ile bile saçma önek:

image

Bu yüzden umarım bu yardımcı olacak kimse dışarı gelecek lists.asmx ile oldukça yaygın gibi görünüyor "değeri null olamaz".

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Sonsuz yerleştirme <div> Etiketler ve jQuery

Bu tür bir tuhaf konu gibi görünüyor, Bloglama hakkında gerçekten değer emin değilim, Ama bu beni daha önce hiç durdurmadı, Yani burada biz gitmek Gülümseme

Bir ara bazı verileri nerede çekiyorum bir proje üzerinde çalışma dışarı, ve sonra bu XML bir XML iletisi ambalaj sonuçta XSLT ile HTML içine aktarılır.  JQuery bir sürü, bir çeşit bazı sekmeler işlevselliğini uygular.  Bir sekmeyi tıklattığınızda (Gerçekten, bir <div>), jQuery yerleştirilmiş çağırır() ve göster() çeşitli divs (Yani hiç postbacks bu durumda ilk sayfa yükleme tüm içerik indirme).

Birkaç saat önce, mantık geçiş sekmesini hatalı davranmaya başladı ve sekmelerimden biri göstermek değil.  Ben sonuçta o Internet Explorer'ın aslında izlenen (en az) düşündüm ki <div> çok iç içe Etiketler, amacı daha çok daha derin.Geliştirici araç çubuğu gösterir:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-son olarak gösterilen buraya yuvarlandıysa kapatıldı!

Yani, Ben yaptım bir $("#Tab1Content").gizle(), Sekme2'de saklanırdım ve asla ben de Sekme1 gelmedi Sekme2 gösterebilirim.  Visual studio ve tüm div's astar kadar güzel gösterdi kodu kopyaladım ve, Sadece onlar yapmak gerektiği gibi, Bu şekilde:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

Bir süre için kafamı duvarlara yendi ve gerçek HTML'de boş bir sürü kod üreten fark <div> Etiketler, gibi:

<vücut>

  <div id = "Tab1Content">

    <div ID "row1" = />
    <div ID "row2" = />

  </div>

  <div id = "Tab2Content">

    <div ID "row1" = />
    <div ID "row2" = />

  </div>

</vücut>

(Yukarıdaki oversimplified waaaaaaaaaaaay olduğunu.  Boş div Etiketler tamamen geçerli. Bazıları benim <div> Etiketler tam içerik, Ancak çok daha fazla.  Gerçekleşme geldi bu benim <XSL:for-each> yönergelerinin kısa formlu yayan div Etiketler zaman xsl:Her için değil ' herhangi bir veri bulmak.  Bir HTML açıklama çıkış zorla, görüldüğü gibi:

image

 

O benden sonra, div's güzel dizilmiş ve etiket anahtarlama çalışmaya başladı..

Her zaman olduğu gibi, Bunu kimse bir tutam yardımcı olur..

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Henüz daha jQuery–Resim örneği yeniden boyutlandırma

Bir istemcinin eski satıcıdan bir web bölümü miras ve görüntü boyutu sorun vardır.  Görüntüleri-meli var olmak 60×50 Ama bazı tuhaf nedenle, özgün satıcısı onları 42 zorla×42, ezilmiş görünüyorlar:

 

İyi görüntü

Kötü görüntü

İşte biçimlendirme (biraz Basitleştirilmiş):

<Masa sınıf 'genişletilmiş-outlook' =>
  <thead>
    <tr>
      <inci  Genişlik ='100′>3 Salı</inci>
    </tr>
  </thead>

  <TBODY>
    <tr sınıf 'tahmin' =>
      <TD genişliği ' 100 =′>
        <ul>
          <li sınıf 'yüksek' =>Yüksek: 72&değ;F</Li>
          <li sınıf 'düşük' =>Düşük: 44&değ;F</Li>
          <li sınıf 'durumu' =>Güneşli
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/En/Trans/cond007.png’ Genişlik ='42’ Yükseklik ' 42 =’ alt =” />
          </Li>
        </ul>
      </TD>
    </tr>

  </TBODY>

</Tablo>

Olsa bile bu dikkat edeceğiz görüntünün kendisini yolu uygun boyut gösterir (60×50) özgün satıcısı 42 yılında zorla×42.  Neden?  Deli.

Yine de, Bu hızlı ve kolay bir çözüm istedi ve jQuery için döndü.  Hile tüm uygun bulmak için yapıldı. <IMG> Etiketler.  Diğer img etiketleri ile muck istemedim. (var olan birçok).  JQuery bu bit did belgili tanımlık hüner:

<komut dosyası türü = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></komut dosyası>

<komut dosyası türü "metin/javascript" =>
     $(Belge).hazır(işlevi () {

         $(' li.condition > img').Her(işlevi (Dizin, Madde)
           
{
             $(Madde).CSS("genişliği", "60"); 
             $(Madde).CSS("Yükseklik", "50");
            });
     }); // belge üzerindeki yük
</komut dosyası>

Bu boyutta bir kod koleksiyon bulur <Li> Etiketler sınıftır "durum" ve <IMG> çocuklar.  O zaman bütün bunlar sırayla dolaşır.  Amele beğenmek a çekicilik.

Muhtemelen bu düzene, Ama hiç bir π çözülmüş bir UNIX adam Hedef 18 basamaklı duyarlık kullanarak SED ve awk ve jQuery ya adam ben bu kadar değilim Gülümseme.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Küresel bir Pop-up uyarı sistemi uygulamak

Kurmak için bir makale yazdı www.SharePoint.Briefing.com başlıklı"Küresel bir Pop-up uyarı sistemi uygulamak.”  Bu işlev bir community college okul kapanması nedeniyle kar ve benzeri iletişim kurmak uygulanmıştır. 

Özel bir liste kullanır, kutu SharePoint web servisleri ve işi yapmak için bazı jQuery.

İşte bir teaser:

image

Burada her şeyi okuyun: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Tamam ve İptal düğmelerini denetimini al

Ben yazdı Bu makale bir süre önce, ama ben ona zaman--dan benim blog bağlantı değil gibi görünüyor, Bu yüzden buraya:

image

Bu makalede, nasıl o iptal tıkladığında kullanıcı Tamam ve farklı bir sayfaya tıkladıktan sonra bir sayfaya yeniden yönlendirmek için newform.aspx zorlamak için.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin