Pracuję z ektronem 9.Załóżmy, że mam kilka formularzy HTML w ektron workarea. Muszę sprawdzić poprawność formularza na stronie kreatora stron ektron za pomocą captcha. Czy jest jakiś sposób, aby to zrobić z kontrolą formy Ekron, czy też istnieje jakiś sposób na osiągnięcie tego samego w ektronie?
Odpowiedzi:
0 dla odpowiedzi № 1W tym celu znajduje się przykładowy portal dla klientów Ektron. https://portal.ektron.com/KB/10246/
przykład poniżej
<%@ Page Language="C#" %>
<%@ Register Assembly="Ektron.Cms.Framework.UI.Controls" Namespace="Ektron.Cms.Framework.UI.Controls" TagPrefix="cms" %>
<%@ Register TagPrefix="cms" Namespace="Ektron.Cms.Controls" Assembly="Ektron.Cms.Controls" %>
<!DOCTYPE html>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
captcha1.Visible = false;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%-- You will need to change the DefaultFormID --%>
<ektron:FormControl id="FormBlock1" runat="server" DefaultFormID="414" AddValidation="True" DynamicParameter="ekfrm"></ektron:FormControl>
<cms:Captcha ID="captcha1" runat="server" Visible="true"/>
</div>
</form>
</body>
</html>
-1 dla odpowiedzi № 2
Kontrola bloku formularzy odczytuje wartości formularzybardzo wcześnie w cyklu życia strony. Jedynym sposobem, aby uniemożliwić odczytanie wartości przez blok formularza, jest rzucenie wyjątku w pre-init. Odpowiedź.Redirect zgłasza wątek z wyjątkiem wyjątku. Możesz przekierować na tę samą stronę. W takim przypadku użytkownik traci wszystkie dane wejściowe. Jeśli połączysz to z pewną walidacją po stronie klienta, to użytkownik powinien zawieść tylko po stronie serwera, jeśli jest hakerem, który pokonał walidację po stronie klienta.