2010-02-25 20 views

cevap

29

İki seçenek vardır.

önce varsayılan bir değer örneğin tanımlamak için cfparam kullanmaktır:

<cfparam name="url.varname" type="string" default="" /> 

Bu, her zaman

ikinci test etmek için isDefined veya structKeyExists kullanmaktır url.varname başvurabilirsiniz sağlar değişken varlığı:

<cfif isDefined("url.varname") and url.varname eq 42> do something </cfif> 

veya

<cfif structKeyExists(url, "varname") and url.varname eq 42> do something </cfif> 
+2

için bir yol daha CF9: IsNull CFPARAM ile güzel bir numara yerine ad name = "degisken" kullanmak adildir – Henry

+1

(url.varname) =" url.varname "- o zaman bu varname bir url var veya bir form var olarak varlığını doğrulayacaktır. GET ve POST arasında geçiş yapmayı kolaylaştırır. – kevink

+7

@kevink, aşağı gitmek için tehlikeli bir yol. Değişken URL veya FORM kapsamlarında tanımlanmamışsa, CFParam bunu VARIABLES kapsamında oluşturur. Bunun önemli ama nüanslı yan etkileri var ve uygulamanızın güvenilirliğini sağlamak için gerçekten neler olduğunu bilmeniz gerekiyor. –

1

Bu yaklaşımı pek çok yerde kullandım. Sayfanın üst kısmında

: bir varsayılan değeri vardır çünkü

<cfparam name="request.someVal" default="request.defaultVal"> 

Daha sonra sayfa veya özel etiketinde, o çökmesini korkmadan, request.someVal değişkenin değerini kontrol edin. <cfscript> yılında

<cfif ("request.someVal" eq "something")> 
    ... 
</cfif> 
. 
. 
. 
+0

Bu özellikle benim için çalıştı, çünkü sayfamın herhangi bir sorgulama değeri olmadığında bazı varsayılan davranışları olmasını istiyorum. – Ectropy

0

yapabilirsiniz

param url.varname; // throws error if it does not exist 

param url.varname = ""; // sets value it was not already set 
İlgili konular