ScriptManager.RegisterDataItem Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kısmi sayfa işleme sırasında denetimlere özel veriler gönderir.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| RegisterDataItem(Control, String) |
Kısmi sayfa işleme sırasında bir denetime özel veriler gönderir. |
| RegisterDataItem(Control, String, Boolean) |
Kısmi sayfa işleme sırasında bir denetime özel veri gönderir ve verilerin JavaScript Nesne Gösterimi (JSON) biçiminde olup olmadığını gösterir. |
RegisterDataItem(Control, String)
Kısmi sayfa işleme sırasında bir denetime özel veriler gönderir.
public:
void RegisterDataItem(System::Web::UI::Control ^ control, System::String ^ dataItem);
public void RegisterDataItem(System.Web.UI.Control control, string dataItem);
member this.RegisterDataItem : System.Web.UI.Control * string -> unit
Public Sub RegisterDataItem (control As Control, dataItem As String)
Parametreler
- control
- Control
Verileri alan denetim.
- dataItem
- String
Denetime gönderilen veriler.
Özel durumlar
control, null'e eşittir.
yöntemi RegisterDataItem(Control, String, Boolean) geri gönderme sırasında çağrılır.
dataItem için controlzaten kayıtlıdır.
Örnekler
Aşağıdaki örnekte, zaman uyumsuz geri gönderme sırasında sayfadaki iki Label denetime veri gönderme işlemi gösterilmektedir. Denetimler Label bir UpdatePanel denetimin içinde değil.
Uyarı
Bu örnekte gönderilen veriler yalnızca çizim içindir. Gerçek dünya uygulamasında, sunucudan RegisterDataItem özel veri göndermek için yöntemini kullanırsınız.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (ScriptManager1.IsInAsyncPostBack)
{
System.Web.Script.Serialization.JavaScriptSerializer json =
new System.Web.Script.Serialization.JavaScriptSerializer();
ScriptManager1.RegisterDataItem(Label1, DateTime.Now.ToString());
ScriptManager1.RegisterDataItem(Label2, json.Serialize("more data"), true);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ScriptManager RegisterDataItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);
function PageLoadingHandler(sender, args) {
var dataItems = args.get_dataItems();
if ($get('Label1') !== null)
$get('Label1').innerHTML = dataItems['Label1'];
if ($get('Label2') !== null)
$get('Label2').innerHTML = dataItems['Label2'];
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
UpdatePanel content.
<asp:Button ID="Button1" Text="Submit" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<hr />
<asp:Label ID="Label1" runat="server" /> <br />
<asp:Label ID="Label2" runat="server" />
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If (ScriptManager1.IsInAsyncPostBack) Then
Dim json As New System.Web.Script.Serialization.JavaScriptSerializer
ScriptManager1.RegisterDataItem(Label1, DateTime.Now.ToString())
ScriptManager1.RegisterDataItem(Label2, json.Serialize("more data"), True)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ScriptManager RegisterDataItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);
function PageLoadingHandler(sender, args) {
var dataItems = args.get_dataItems();
if ($get('Label1') !== null)
$get('Label1').innerHTML = dataItems['Label1'];
if ($get('Label2') !== null)
$get('Label2').innerHTML = dataItems['Label2'];
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
UpdatePanel content.
<asp:Button ID="Button1" Text="Submit" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<hr />
<asp:Label ID="Label1" runat="server" /> <br />
<asp:Label ID="Label2" runat="server" />
</div>
</form>
</body>
</html>
Açıklamalar
Verileri alan denetimin RegisterDataItem bir UpdatePanel denetimin içinde olup olmadığına bakılmaksızın, zaman uyumsuz geri gönderme işlemleri sırasında sunucudan istemciye veri göndermek için yöntemini kullanın.
RegisterDataItem yöntemi yalnızca zaman uyumsuz geri gönderme sırasında çağrılabilir. Geri göndermenin zaman uyumsuz olup olmadığını belirlemek için özelliğini kullanın IsInAsyncPostBack . Bu yöntem, olarak ayarlanmış falseadlı isJsonSerialized bir parametre alan aşırı yüklemeyi çağırır.
isJsonSerialized parametresi olarak ayarlandığındafalse, dize JavaScript Nesne Gösterimi (JSON) olarak serileştirilmemiştir. JSON biçimi hakkında daha fazla bilgi için bkz. JSON Web sitesine giriş.
yöntemiyle kaydedilen veri öğelerine RegisterDataItem , nesnesinin pageLoading, pageLoadedve endRequest olayları PageRequestManager sırasında istemci betiğinde erişilebilir. Bu olayları işlediğinizde, özel veriler bir olay bağımsız değişkeni nesnesine geçirilir. Örneğin, olay için pageLoading bir işleyici sağlarsanız, özel veriler sınıfında geçirilir ve bu da PageLoadingEventArgs bir dataItems özelliği kullanıma sunar.
Ayrıca bkz.
Şunlara uygulanır
RegisterDataItem(Control, String, Boolean)
Kısmi sayfa işleme sırasında bir denetime özel veri gönderir ve verilerin JavaScript Nesne Gösterimi (JSON) biçiminde olup olmadığını gösterir.
public:
void RegisterDataItem(System::Web::UI::Control ^ control, System::String ^ dataItem, bool isJsonSerialized);
public void RegisterDataItem(System.Web.UI.Control control, string dataItem, bool isJsonSerialized);
member this.RegisterDataItem : System.Web.UI.Control * string * bool -> unit
Public Sub RegisterDataItem (control As Control, dataItem As String, isJsonSerialized As Boolean)
Parametreler
- control
- Control
Verileri alan sayfa denetimi.
- dataItem
- String
Denetime gönderilen veriler.
- isJsonSerialized
- Boolean
true JSON olarak seri hale getirildiğini belirtmek dataItem için; aksi takdirde , false.
Özel durumlar
control, null'e eşittir.
yöntemi RegisterDataItem(Control, String, Boolean) geri gönderme sırasında çağrılır.
dataItem için controlzaten kayıtlıdır.
Örnekler
Aşağıdaki örnekte, zaman uyumsuz geri gönderme sırasında sayfadaki iki Label denetime veri gönderme işlemi gösterilmektedir. Denetimler Label bir UpdatePanel denetimin içinde değil. Bu örnekte parametresini almayan aşırı yükleme gösterilmektedir isJsonSerialized . Aksi takdirde, nesnesinin dataItems özelliğini PageLoadingEventArgs alma yordamı, bu aşırı yüklemeyi kullanmamış olmanızla aynıdır.
Uyarı
Bu örnekte gönderilen veriler yalnızca çizim içindir. Gerçek dünya uygulamasında, sunucudan RegisterDataItem özel veri göndermek için yöntemini kullanırsınız. Örneğin, bir denetimin içinde UpdatePanel olmayan istemci öğelerinin gizlenmesi veya gösterilmesi hakkında bilgi göndermek için veri öğesini kullanabilirsiniz.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (ScriptManager1.IsInAsyncPostBack)
{
System.Web.Script.Serialization.JavaScriptSerializer json =
new System.Web.Script.Serialization.JavaScriptSerializer();
ScriptManager1.RegisterDataItem(Label1, DateTime.Now.ToString());
ScriptManager1.RegisterDataItem(Label2, json.Serialize("more data"), true);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ScriptManager RegisterDataItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);
function PageLoadingHandler(sender, args) {
var dataItems = args.get_dataItems();
if ($get('Label1') !== null)
$get('Label1').innerHTML = dataItems['Label1'];
if ($get('Label2') !== null)
$get('Label2').innerHTML = dataItems['Label2'];
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
UpdatePanel content.
<asp:Button ID="Button1" Text="Submit" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<hr />
<asp:Label ID="Label1" runat="server" /> <br />
<asp:Label ID="Label2" runat="server" />
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If (ScriptManager1.IsInAsyncPostBack) Then
Dim json As New System.Web.Script.Serialization.JavaScriptSerializer
ScriptManager1.RegisterDataItem(Label1, DateTime.Now.ToString())
ScriptManager1.RegisterDataItem(Label2, json.Serialize("more data"), True)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ScriptManager RegisterDataItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);
function PageLoadingHandler(sender, args) {
var dataItems = args.get_dataItems();
if ($get('Label1') !== null)
$get('Label1').innerHTML = dataItems['Label1'];
if ($get('Label2') !== null)
$get('Label2').innerHTML = dataItems['Label2'];
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
UpdatePanel content.
<asp:Button ID="Button1" Text="Submit" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<hr />
<asp:Label ID="Label1" runat="server" /> <br />
<asp:Label ID="Label2" runat="server" />
</div>
</form>
</body>
</html>
Açıklamalar
Verileri alan denetimin RegisterDataItem bir UpdatePanel denetimin içinde olup olmadığına bakılmaksızın, zaman uyumsuz geri gönderme işlemleri sırasında istemciye sunucudan veri göndermek için yöntemini kullanırsınız.
dataItem Kaydolduğunuz control parametre JSON olarak serileştirilmemişse parametresini isJsonSerialized olarak falseayarlayın. Bu, istemciye gönderilen her dize için işlevini kullanma eval gereksinimini önler. JSON biçimi hakkında daha fazla bilgi için bkz. JSON Web sitesine giriş.
RegisterDataItem yöntemi yalnızca zaman uyumsuz geri gönderme sırasında çağrılabilir. Geri göndermenin zaman uyumsuz olup olmadığını belirlemek için özelliğini kullanın IsInAsyncPostBack .
yöntemi kullanılarak kaydedilen veri öğelerine RegisterDataItem , nesnesinin pageLoading, pageLoadedve endRequest olayları PageRequestManager sırasında istemci betiğinde erişilebilir. Bu olayları işlediğinizde, özel veriler bir olay bağımsız değişkeni nesnesine geçirilir. Örneğin, olay için pageLoading bir işleyici sağlarsanız, özel veriler sınıfında geçirilir ve bu da PageLoadingEventArgs bir dataItems özelliği kullanıma sunar.