私は、Modal PopUpに表示されるUpdate PanelのテキストボックスにSession Variablesを渡すことについて質問します。 これは私がこれまで持っているコードです:ASP.NETのセッション変数がModalBoxの以前の値を返しますか?
ASPXのCODE:BEHIND
<asp:TemplateField HeaderText="Link">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" Text="Link" runat="server" OnClick="LinkButton1_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="panel_Load">
<ContentTemplate>
<asp:Button ID="OKButton" runat="server" Text="Close" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ModalPopupExtender ID="mpe" runat="server" TargetControlID="ClientButton" PopupControlID="UpdatePanel1" OkControlID="OKButton">
</asp:ModalPopupExtender>
<asp:Button ID="ClientButton" runat="server" Text="Launch Modal Popup (Client)" style="display:none;" />
CODE(C#の):
protected void LinkButton1_Click(object sender, EventArgs e)
{
GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;
Label lbl_nme = (Label)clickedRow.FindControl("lbl_name");
String string_nme = lbl_nme.Text.ToString();
Session["Name"] = string_nme;
mpe.Show();
}
protected void panel_Load(object sender, EventArgs e)
{
Label1.Text = (string)(Session["Name"]);
}
だから、基本的に、私は、名前のGridViewコントロールを持っていますアドレスなど...ユーザーが行内のリンクをクリックすると、その行の名前フィールドの値がセッション変数として保存されます。 Modal PopUpが表示されます。 Modal PopUpはSession変数として保存されたNameを表示します。
コードの種類の作品。私が経験しているのは、行をクリックすると、Modal PopUpのLabel1.Textが空であるということです。したがって、PopUpを閉じて別の行の別のリンクをクリックすると、PopUpは以前にクリックされた行の名前を表示します。
つまり、1行目が「Kevin」、2行目が「Nathaniel」で、1行目のModal PopUpを開くリンクをクリックすると、PopUpに「Kevin」と表示されます。しかし、それはしません。アプリケーションを再構築した後に初めてリンクをクリックすると、何も表示されません。しかし、私がrow1をクリックした後に2行目をクリックすると、Modal PopUpは以前にクリックした行の値を表示します。つまり、 "Nathaniel"になると思います。
私は誰もが混乱しないことを願っています。私は初心者で、私はちょうどコードなどの例で、私を助けることができれば、私はそれを感謝したいので、この物に入っている。
ありがとう。とても有難い。
ありがとうございます。それは完全に機能します。とても有難い! :) –
@KevinPよろしくお願いします。 ASP.NETのライフサイクルはかなり複雑です... –