2014-09-03 1 views
0

Я пытаюсь обновить элементы управления, чтобы обновить панель обновления с помощью ссылки. ниже ссылки. но он не работает. Я хочу знать, чего не хватает. В моем приложении нельзя использовать эти метки внутри панели обновления.Обновление элементов управления пользовательского интерфейса за пределами обновленной панели в asp.net

http://msdn.microsoft.com/en-us/library/bb301423(v=vs.110).aspx

HTML 

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" 
CodeBehind="Default.aspx.cs" Inherits="Updatepaneltest._Default" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 

</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<div> 
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
      </asp:ScriptManager> 
<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" runat="server"> 
<ContentTemplate> 
    UpdatePanel content. 
    <asp:Button ID="Button1" Text="Submit" runat="server" /> 
</ContentTemplate> 
</asp:UpdatePanel> 
<hr /> 
<asp:Label ID="Label1" Text="hiii" runat="server" /> <br /> 
<asp:Label ID="Label2" runat="server" /> 
</div> 
</asp:Content> 

код позади

protected void Page_Load(object sender, EventArgs e) 
    { 
     // ScriptManager ScriptManager1 = ScriptManager.GetCurrent(this.Page); 
     if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack) 
     { 
      ScriptManager1.RegisterDataItem(Label1, DateTime.Now.ToString()); 
      ScriptManager1.RegisterDataItem(Label2, DateTime.Now.Year.ToString()); 
     } 
    } 

ответ

1

обновления управления внутри UpdatePanel, обновления

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
<asp:Button ID="Button1" Text="Submit" runat="server" /> 
<asp:Label ID="Label1" Text="hiii" runat="server" /> <br /> 
<asp:Label ID="Label2" runat="server" /> 
</ContentTemplate> 
</asp:UpdatePanel> 

управления вне UpdatePanel,

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode=Conditional> 
<ContentTemplate> 
<asp:Button ID="Button1" Text="Submit" runat="server" /> 
</ContentTemplate> 
</asp:UpdatePanel> 
<asp:Label ID="Label1" Text="hiii" runat="server" /> <br /> 
<asp:Label ID="Label2" runat="server" /> 

Позже напишите ниже строки на стороне клиента.

var pageInstance = Sys.WebForms.PageRequestManager.getInstance(); 
pageInstance.add_pageLoaded(UpdateLabelHandler); 

function UpdateLabelHandler(sender, args) 
{ 
    var ControldataItems = args.get_dataItems(); 
    if ($get('Label1') !== null) 
    $get('Label1').innerHTML = ControldataItems ['Label1']; 
    if ($get('Label2') !== null) 
    $get('Label2').innerHTML = ControldataItems ['Label2']; 
} 

Код За:

protected void Page_Load(object sender, EventArgs e) 
{ 
     ScriptManager1.RegisterDataItem(Label1, DateTime.Now.ToString()); 
     ScriptManager1.RegisterDataItem(Label2, DateTime.Now.Year.ToString()); 
} 

Надеется, что это может помочь вам.

+0

извините, в моем случае я не могу использовать эти метки внутри обновления. – nichu09

+0

@ nichu09 Проверьте мой обновленный ответ – gkrishy

+0

Кажется, мой ответ тоже упоминает то же самое. – gkrishy