Apply

 

Menu

Request for Extra Passport Pages

Error executing template "Designs/Kwpn/DataManagement/Forms/Form/FormPassportRenewal.cshtml"
System.IO.IOException: The process cannot access the file 'D:\inetpub\wwwroot\www.kwpn.nl\Files\Templates\Designs\Kwpn\Translations.xml' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Dynamicweb.Rendering.Translation.Source.WriteDocument(XmlDocument document)
at Dynamicweb.Rendering.Translation.Source.Save()
at Dynamicweb.Rendering.Translation.Source.UpdateTranslationSource(Source source, IEnumerable`1 newKeys, String designName, IEnumerable`1 cultures)
at Dynamicweb.Rendering.Template.TranslateText(String text, String defaultValue, String cultureName)
at Dynamicweb.Rendering.TemplateBase`1.Translate(String text)
at CompiledRazorTemplates.Dynamic.RazorEngine_1f61facc306046f08411a24855dcb863.Execute() in D:\inetpub\wwwroot\www.kwpn.nl\Files\Templates\Designs\Kwpn\DataManagement\Forms\Form\FormPassportRenewal.cshtml:line 191
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using Kwpn.Repository.Repositories 3 @using System.Web 4 @using Kwpn.Repository.Helpers 5 @{ 6 var isLoggedIn = LoginHelper.CurrentUserIsLoggedIn(); 7 var culture = GetGlobalValue("Global:Area.LongLang"); 8 var currentDateTime = DateTime.Now; 9 var animalCode = System.Web.HttpContext.Current.Request.QueryString.Get(Translate("Horse", "Horse")) ?? ""; 10 11 string membershipNumber = "", 12 userId = "", 13 userName = "", 14 userAddress = "", 15 userHouseNr = "", 16 userPostalCode = "", 17 userCity = "", 18 userPhone = "", 19 userEmail = "", 20 authorizationName = "", 21 authorizationResidence = "", 22 lifeNumber = "", 23 horseName = "", 24 fatherName = "", 25 mothersFatherName = "", 26 productName = "", 27 productPrice = "", 28 productPriceFormatted = ""; 29 30 if (isLoggedIn) 31 { 32 var dwUser = KwpnUsers.CurrentUser().DwUser; 33 membershipNumber = dwUser.UserName; 34 userId = dwUser.ID.ToString(); 35 userName = dwUser.Name; 36 userAddress = dwUser.Address; 37 userHouseNr = dwUser.HouseNumber; 38 userPostalCode = dwUser.Zip; 39 userCity = dwUser.City; 40 userPhone = dwUser.Phone; 41 userEmail = dwUser.Email; 42 authorizationName = dwUser.Name; 43 authorizationResidence = dwUser.City; 44 } 45 46 var productService = new Dynamicweb.Ecommerce.Products.ProductService(); 47 var ecomLanguageId = Dynamicweb.Frontend.PageView.Current().Area.EcomLanguageId; 48 var passportRenewalProduct = productService.GetProductByNumber(Kwpn.Models.Constants.StringConstants.ProductNumbers.PassportRenewal, ecomLanguageId); 49 if (passportRenewalProduct != null) 50 { 51 productName = passportRenewalProduct.Name; 52 productPrice = ProductHelper.GetProductPrice(passportRenewalProduct).ToString(); 53 productPriceFormatted = ProductHelper.FormatPrice(ProductHelper.GetProductPrice(passportRenewalProduct)); 54 } 55 56 var iban = ""; 57 var bic = ""; 58 var equisUser = UserHelper.GetEquisUser(); 59 if (equisUser != null) 60 { 61 iban = equisUser.Iban; 62 bic = equisUser.Bic; 63 } 64 65 var isNL = culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase); 66 67 // .org website uses on account because authorization is not possible for foreigners 68 var paymentMethod = isNL ? 69 Kwpn.Models.Enumerations.PaymentMethod.Authorization.ToString() : 70 Kwpn.Models.Enumerations.PaymentMethod.OnAccount.ToString(); 71 72 <div class="w-section inverse"> 73 <div class="w-box sign-in-wr bg-5"> 74 <div id="FormPassportRenewal" class="form-body"> 75 @GetValue("Form.Start") 76 @GetValue("Form.Hidden") @*Hidden fields are filled with jquery*@ 77 78 <div class="row"> 79 <div class="col-xs-12"> 80 <h3>@Translate("PersonalInformation", "Personal information")</h3> 81 82 <div class="form-group"> 83 <div class="form-inline @(!isLoggedIn ? "hidden" : "")"> 84 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_AccessUserUserName">@Translate("MembershipNumber", "Membership number")</label> 85 <input type="text" class="form-control" id="Kwpn_Form_PassportRenewal_AccessUserUserName" name="Kwpn_Form_PassportRenewal_AccessUserUserName" value="@membershipNumber" @(isLoggedIn ? "readonly required" : "") /> 86 </div> 87 <div class="form-inline"> 88 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_Name">@(!isLoggedIn ? Translate("InitialsAndName", "Initials and Name") : Translate("Name", "Name"))</label> 89 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_Name" name="Kwpn_Form_PassportRenewal_Name" value="@userName" @(isLoggedIn ? "readonly" : "") required /> 90 </div> 91 <div class="form-inline"> 92 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_Address">@Translate("Address")</label> 93 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_Address" name="Kwpn_Form_PassportRenewal_Address" value="@userAddress" @(isLoggedIn && !string.IsNullOrWhiteSpace(userAddress) ? "readonly" : "") required /> 94 </div> 95 <div class="form-inline"> 96 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_HouseNumber">@Translate("HouseNumber")</label> 97 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_HouseNumber" maxlength="10" name="Kwpn_Form_PassportRenewal_HouseNumber" value="@userHouseNr" @(isLoggedIn && !string.IsNullOrWhiteSpace(userHouseNr) ? "readonly" : "") @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)){<text> required</text>} /> 98 </div> 99 <div class="form-inline"> 100 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_ZipCode">@Translate("PostalCode")</label> 101 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_ZipCode" maxlength="10" name="Kwpn_Form_PassportRenewal_ZipCode" value="@userPostalCode" @(isLoggedIn && !string.IsNullOrWhiteSpace(userPostalCode) ? "readonly" : "") required /> 102 </div> 103 <div class="form-inline"> 104 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_City">@Translate("Place")</label> 105 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_City" name="Kwpn_Form_PassportRenewal_City" value="@userCity" @(isLoggedIn && !string.IsNullOrWhiteSpace(userCity) ? "readonly" : "") required /> 106 </div> 107 <div class="form-inline"> 108 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_TelephoneNumber">@Translate("Phone")</label> 109 <input type="tel" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_TelephoneNumber" name="Kwpn_Form_PassportRenewal_TelephoneNumber" value="@userPhone" @(isLoggedIn && !string.IsNullOrWhiteSpace(userPhone) ? "readonly" : "") required /> 110 </div> 111 <div class="form-inline"> 112 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_EmailAddress">@Translate("Email_address")</label> 113 <input type="email" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_EmailAddress" name="Kwpn_Form_PassportRenewal_EmailAddress" value="@userEmail" @(isLoggedIn && !string.IsNullOrWhiteSpace(userEmail) ? "readonly" : "") required /> 114 </div> 115 </div> 116 </div> 117 </div> 118 119 @{ 120 if (string.IsNullOrWhiteSpace(animalCode)) 121 { 122 <div class="break-grid content-container"> 123 <div class="break-grid-background"> 124 <div class="in-grid"> 125 <div class="row"> 126 <div class="col-xs-12"> 127 @Translate("NoHorseSelected", "No horse selected") 128 @*todo: zoek functionaliteit en evt bericht geving als je via een actie link hier komt*@ 129 </div> 130 </div> 131 </div> 132 </div> 133 </div> 134 } 135 else 136 { 137 var horse = Horses.Get(animalCode, culture, true, true, true, true, true, true, true, true, true); 138 if (horse == null) 139 { 140 <div class="break-grid content-container"> 141 <div class="break-grid-background"> 142 <div class="in-grid"> 143 <div class="row"> 144 <div class="col-xs-12"> 145 @Translate("HorseNotFound", "Horse not found") 146 </div> 147 </div> 148 </div> 149 </div> 150 </div> 151 } 152 else 153 { 154 horseName = HorseHelper.GetHorseName(horse.SportsName, horse.AnimalName, horse.DateOfBirth.Value); 155 156 var father = horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.Father); 157 if (father != null) 158 { 159 fatherName = father.AnimalName; 160 } 161 else 162 { 163 fatherName = Translate("Unknown", "Unknown"); 164 } 165 166 var mothersFather = horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather); 167 if (mothersFather != null) 168 { 169 mothersFatherName = mothersFather.AnimalName; 170 } 171 else 172 { 173 mothersFatherName = Translate("Unknown", "Unknown"); 174 } 175 176 177 // HORSE INFO TABLE DATA 178 lifeNumber = horse.Lifenumber; 179 if (!string.IsNullOrWhiteSpace(horse.LifenumberComplete)) 180 { 181 lifeNumber = horse.LifenumberComplete; 182 } 183 184 } 185 } 186 } 187 188 <div class="row"> 189 <div class="col-xs-12"> 190 <br /> 191 <h3>@Translate("HorseData")</h3> 192 <div class="form-group"> 193 <div class="form-inline not-in-form"> 194 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_LifeNumber">@Translate("LifeNumber")</label> 195 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_LifeNumber" name="Kwpn_Form_PassportRenewal_LifeNumber" value="@lifeNumber" readonly required /> 196 </div> 197 <div class="form-inline"> 198 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_HorseName">@Translate("Name")</label> 199 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_HorseName" name="Kwpn_Form_PassportRenewal_HorseName" value="@horseName" readonly required /> 200 </div> 201 <div class="form-inline not-in-form"> 202 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_Father">@Translate("FathersName")</label> 203 <input type="text" class="form-control" id="FatherName" name="Kwpn_Form_PassportRenewal_Father" value="@fatherName" readonly /> 204 </div> 205 <div class="form-inline not-in-form"> 206 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_MothersFather">@Translate("MothersFathersName")</label> 207 <input type="text" class="form-control" id="FatherName" name="Kwpn_Form_PassportRenewal_MothersFather" value="@mothersFatherName" readonly /> 208 </div> 209 </div> 210 </div> 211 </div> 212 213 <div class="row"> 214 <div class="col-xs-12"> 215 <div class="form-group"> 216 217 <br /> 218 219 220 @if (isNL) 221 { 222 <h3>@Translate("AuthorizationData", "Authorization data")</h3> 223 <div class="form-inline"> 224 <label class="control-label col-sm-4">@Translate("Authorization", "Authorization")</label> 225 <input type="checkbox" id="Kwpn_Form_PassportRenewal_AgreedWithAuthorization" name="Kwpn_Form_PassportRenewal_AgreedWithAuthorization" required /> <label for="Kwpn_Form_PassportRenewal_AgreedWithAuthorization" class="checkbox-label no-asterisk">@Translate("AuthorizationApproved", "Approved")</label> 226 </div> 227 } 228 else 229 { 230 <h3>@Translate("OnAccountData", "Account data")</h3> 231 } 232 233 <div class="form-inline" id="iban-wrapper"> 234 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_IBAN">@Translate("IBAN", "IBAN")</label> 235 <input type="text" 236 class="form-control text-uppercase" 237 id="Kwpn_Form_PassportRenewal_IBAN" 238 name="Kwpn_Form_PassportRenewal_IBAN" 239 value="@iban" 240 title="@Translate("UseValidIBAN")" required /> 241 <br /> 242 <label class="control-label col-sm-4 no-asterisk">&nbsp;</label><small class="nowrap">@Translate("IBAN_PatternInfo", "Pattern: NL12 BANK 3456 7890 12")</small> 243 </div> 244 245 <div class="form-inline"> 246 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_AuthorizationName">@Translate("AuthorizationName", "Name")</label> 247 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_AuthorizationName" name="Kwpn_Form_PassportRenewal_AuthorizationName" value="@authorizationName" required /> 248 </div> 249 250 <div class="form-inline"> 251 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_AuthorizationResidence">@Translate("AuthorizationResidence", "Residence")</label> 252 <input type="text" class="form-control hide-hints" id="Kwpn_Form_PassportRenewal_AuthorizationResidence" name="Kwpn_Form_PassportRenewal_AuthorizationResidence" value="@authorizationResidence" required /> 253 </div> 254 255 <div class="form-inline"> 256 <label class="control-label col-sm-4" for="Kwpn_Form_PassportRenewal_BIC">@Translate("BIC", "BIC")</label> 257 <div class="inner-addon right-addon col-sm-4"> 258 <i class="fa fa-question" id="bicinfo" data-toggle="tooltip" title="@Translate("BICTooltip", "Visitors from outside the Netherlands have to enter their Business Identifier Code (BIC)")"></i> 259 <input type="text" 260 class="form-control text-uppercase" 261 id="Kwpn_Form_PassportRenewal_BIC" 262 name="Kwpn_Form_PassportRenewal_BIC" 263 value="@bic" 264 pattern="([a-zA-Z]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)" 265 title="@Translate("UseValidBIC")" /> 266 </div> 267 </div> 268 269 <br /> 270 <br /> 271 </div> 272 </div> 273 </div> 274 <button class="hidden" type="submit" id="Kwpn_Form_Submitter">@Translate("Pay")</button> 275 276 @if (passportRenewalProduct != null) 277 { 278 <div class="row"> 279 <div class="col-xs-12 form-order-overview"> 280 <h2>@Translate("OrderOverview", "Order overview")</h2> 281 <table> 282 <colgroup> 283 <col width="30" /> 284 <col /> 285 </colgroup> 286 <tr class="head"> 287 <th><i class="fa fa-info"></i></th> 288 <th>@Translate("Product", "Product")</th> 289 </tr> 290 <tr> 291 <td>&nbsp;</td> 292 <td>@productName</td> 293 </tr> 294 <tr class="head"> 295 <th><i class="fa fa-eur"></i></th> 296 <th>@Translate("Price", "Price")</th> 297 </tr> 298 <tr> 299 <td>&nbsp;</td> 300 <td>@productPriceFormatted (@Translate("VatIncluded", "VAT included"))</td> 301 </tr> 302 <tr class="conditions"> 303 <td><input type="checkbox" class="form-control agreement-checkbox" id="Kwpn_Form_PassportRenewal_AgreedWithConditions" name="Kwpn_Form_PassportRenewal_AgreedWithConditions" required /></td> 304 <td><label for="Kwpn_Form_PassportRenewal_AgreedWithConditions">@FormHelper.GetAgreeWithConditionsText(Kwpn.Models.Enumerations.FormType.PassportRenewal)</label></td> 305 </tr> 306 <tr class="conditions"> 307 <td><input type="checkbox" class="form-control agreement-checkbox" id="Kwpn_Form_PassportRenewal_AgreedWithPrivacy" name="Kwpn_Form_PassportRenewal_AgreedWithPrivacy" required /></td> 308 <td><label for="Kwpn_Form_PassportRenewal_AgreedWithPrivacy">@Translate("AgreeWithPrivacyStatement", "I agree with the conditions stated in the privacy statement page")</label></td> 309 </tr> 310 <tr> 311 <td colspan="2"><button class="submitBtn" type="button" defaultText="@Translate("Pay").JsEncode()">@Translate("Pay")</button></td> 312 </tr> 313 </table> 314 </div> 315 </div> 316 } 317 else 318 { 319 <div class="row"> 320 <div class="col-md-6"> 321 322 </div> 323 <div class="col-md-6"> 324 <button class="submitBtn pull-right" type="button" defaultText="@Translate("Pay").JsEncode()">@Translate("Pay")</button> 325 </div> 326 </div> 327 } 328 @GetValue("Form.End") 329 </div> 330 </div> 331 </div> 332 333 @SnippetStart("JavascriptsBottom") 334 <script> 335 // check if form is valid 336 function FormIsHtml5Valid() { 337 return $("#FormPassportRenewal .form-control:invalid").length == 0; 338 } 339 340 function ibanIsForeign(iban) { 341 return !iban.toLowerCase().match("^nl"); 342 } 343 344 function makeBicRequired() { 345 $("#Kwpn_Form_PassportRenewal_BIC").prop("required", true); 346 var asterisk = "<i class=\"fa fa-asterisk\" aria-hidden=\"true\"></i>"; 347 $("#Kwpn_Form_PassportRenewal_BIC") 348 .closest(".form-inline") 349 .children("label") 350 .not(":has(> i)") 351 .append(asterisk); 352 } 353 354 function makeBicUnRequired() { 355 $("#Kwpn_Form_PassportRenewal_BIC").prop("required", false); 356 $("#Kwpn_Form_PassportRenewal_BIC") 357 .closest(".form-inline") 358 .children("label") 359 .find("i") 360 .remove(); 361 } 362 363 function equisOffline() { 364 $(".modal-body", "#equis-offline") // set alert text 365 .html('@Translate("EquisOffline_Modal_BodyText_PassportRenewal", "Our back office is currently unavailable.<br />Most of the website is viewable.<br/>For the parts we need to communicate with our back office, we ask you to try again soon.<br />Sorry for the inconvenience.")'); 366 $("#equis-offline").modal("show"); // show alert to user by showing modal (in master) 367 $(".submitBtn").text("@Translate("EquisOffline_FormButtonReplaceText", "Back office offline")"); // change button text 368 $("#Kwpn_Form_Submitter").prop("disabled", true); // disable hidden button 369 $("#FormPassportRenewal :input").prop("disabled", true); // disable all input/textarea/select/checkbox/radio/button 370 } 371 372 function FillHiddenFields() { 373 $("#Kwpn_Form_PassportRenewal_AnimalCode").val("@animalCode.ToUpper()"); 374 $("#Kwpn_Form_PassportRenewal_AccessUserID").val("@userId"); 375 $("#Kwpn_Form_PassportRenewal_SubmitDateTime").val("@currentDateTime"); 376 $("#Kwpn_Form_PassportRenewal_PaymentMethod").val("@paymentMethod"); 377 $("#Kwpn_Form_PassportRenewal_OrderStatus").val("@Kwpn.Models.Enumerations.FormOrderStatus.FormSubmitted.ToString()"); 378 $("#Kwpn_Form_PassportRenewal_OrderStatusLastChanged").val("@currentDateTime"); 379 $("#Kwpn_Form_PassportRenewal_OrderStatusLastChanged").val("@currentDateTime"); 380 $("#Kwpn_Form_PassportRenewal_ProductName").val("@productName"); 381 $("#Kwpn_Form_PassportRenewal_ProductPrice").val("@productPrice"); 382 $("#Kwpn_Form_PassportRenewal_Culture").val("@culture"); 383 } 384 385 $(document).ready(function () { 386 387 // check if Equis is online 388 equis.IsOnline(equisOffline); 389 390 FillHiddenFields(); 391 392 // validate iban on load 393 if ("@iban" != "" && ibanIsForeign("@iban")) { 394 makeBicRequired(); 395 } 396 397 //Place asterisks after required labels 398 $('input,textarea,select') 399 .filter('[required]:visible') 400 .closest(".form-inline") 401 .children("label") 402 .not(".no-asterisk") 403 .append("<i class=\"fa fa-asterisk\" aria-hidden=\"true\"></i>"); 404 405 // force orange borders 406 $(".hide-hints").change(function () { 407 $(this).removeClass("hide-hints"); 408 }); 409 410 411 // Validate iban 412 $("#Kwpn_Form_PassportRenewal_IBAN").change(function () { 413 var errorContainer = $("#iban-wrapper"); 414 415 //remove possible error 416 $("#validateIbanError").remove(); 417 errorContainer.removeClass("error"); 418 419 //get value 420 var iban = $(this).val(); 421 422 // validate 423 if (iban !== "") { 424 425 var validateIbanUrl = "/kwpnwebapi/forms/checkbankaccount/" + iban; 426 $.getJSON(validateIbanUrl).done(function (isValid) { 427 if (!isValid) { 428 429 //show error and clear field 430 errorContainer.addClass("error"); 431 var error = "<div id=\"validateIbanError\" class=\"errortext col-sm-4 col-sm-offset-4 small uppercase\">@Translate("IbanError", "Not a valid IBAN"): " + iban + "</div>"; 432 errorContainer.append(error); 433 $("#Kwpn_Form_PassportRenewal_IBAN").val(""); 434 } else { 435 // make bic required if iban is not dutch 436 if (ibanIsForeign(iban)) { 437 makeBicRequired(); 438 } else { 439 makeBicUnRequired(); 440 } 441 } 442 }).fail(function (jqxhr, textStatus, error) { 443 var err = textStatus + ", " + error; 444 console.error("Request Checkbankaccount Failed: " + err); 445 }); 446 } 447 }); 448 449 // only allow alphanumeric characters for bic field 450 $("#Kwpn_Form_PassportRenewal_BIC").alphanumeric(); 451 452 // submit 453 $("#Kwpn_Form_Submitter").click(function () { 454 $(".hide-hints").removeClass("hide-hints"); 455 if (!FormIsHtml5Valid()) { 456 FormHelper.SubmitButtonReset(".submitBtn"); 457 } 458 }); 459 460 // submit button click 461 $(".submitBtn").off("click").on("click", function () { 462 FormHelper.SubmitButtonClick(".submitBtn"); 463 $("#Kwpn_Form_Submitter").click(); 464 }); 465 466 }); 467 </script> 468 @SnippetEnd("JavascriptsBottom") 469 }
€ 135,00 per year

KWPN Membership

  • Subscription to the digital KWPN Magazine (in Dutch)
  • Free advertising at KWPN Horses for Sale
Become a member now

About the KWPN

The KWPN (Studbook of the Royal Dutch Sport Horse) is a Netherlands-based organization specializing in the breeding of jumpers, dressage horses, harness horses, and Gelder horses.

More info

Official partners


Cookies on the KWPN website

We request your agreement to the use of cookies on our website. More information is available on our cookie policy page.

Cookie Policy