Validierung der benutzerdefinierten Eigenschaft von Webparts mit AJAX aktiviert?
-
22-10-2019 - |
Frage
Ich verwende Webfarm -Lösung und habe einige benutzerdefinierte Eigenschaften implementiert und meine Frage ist: Gibt es eine Möglichkeit, wie ich AJAX aktivieren kann. Wenn der Benutzer den schlechten Namen eingibt, den ich in der Prop- und Anzeigefehler überprüfe und alles gut funktioniert, aber die Seite nachbackt (Neulackierung).
private string _listName;
[WebBrowsable(true), WebDisplayName("List Name"), WebDescription("Enter ~ Separated List Name to Show Data Here.."), Personalizable(PersonalizationScope.Shared), System.ComponentModel.Category("Settings"), System.ComponentModel.DefaultValue("")]
public string ListName
{
get { return _listName; }
set
{
if (string.IsNullOrEmpty(_listName))
throw new WebPartPageUserException("Please enter atleast one List Name here...");
else
_listName = value;
}
}
Lösung
Möchten Sie nur das Webpart oder einen anderen Teil der Seite neu streichen?
Wenn es nur Ihr eigenes Webpart ist, können Sie eines von zwei Dingen tun.
Fügen Sie Ihrem Webpart ein Update -Panel hinzu und legen Sie dann alle Ihre Steuerelemente in das Update -Panel. Dies ist wahrscheinlich am einfachsten, hat aber viel Overhead und es gibt eine gewisse Komplexität, wenn Sie mehrere auf der Seite haben.
Sie können Ihr WebPart ICallBacKeVentHandler implementieren lassen. Von hier aus können Sie einen Ajax -Anruf tätigen und dieser Anruf gibt eine Zeichenfolge zurück. Auf der Clientseite in JavaScript nehmen Sie diese Zeichenfolge, die zurückgegeben wird, und aktualisieren Sie sie mit dem DOM, um die HTML in Ihrem Webpart zu aktualisieren. Diese Lösung ist schwieriger zu sein, hat aber weniger Overhead.