在我的aspx页面中,我有一个面板(通用面板)。这个是由几个动态构建的面板填充的。每个内部面板包含一个标签(id = "lbl"+ i.ToString())
,一张照片(id = "img"+ i.ToString())
和一个按钮提交("btn" + i.ToString())
动态创建并填充sql数据。单击提交按钮时,我想在通用面板旁边的更新面板中的标签中显示名称。我怎样才能做到这一点?有人有解决方案吗?非常感谢你的帮助
我的aspx文件
<asp:Panel ID="Panel_Generic" runat="server" Style="margin-left:30px;margin-right:30px;">
<div class="row">
<div class="col-lg-12">
<h2 class="page-header">
Vente à emporter
<small>Restaurant</small>
</h2>
<ol class="breadcrumb">
<li>
<i class="fa fa-dashboard"></i>Vos Informations
</li>
<li>
<i class="fa fa-file"></i> Votre commande
</li>
<li class="active">
<i class="fa fa-file"></i> Valider
</li>
</ol>
</div>
</div>
<div style="display:flex;justify-content:space-around;margin-bottom:30px">
<asp:Button ID="btn_Entree" width="150px" class="btn btn-info btn-lg" runat="server" Text="Entrées" />
<asp:Button ID="btn_Plat" width="150px" class="btn btn-warning btn-lg" runat="server" Text="Plats" />
<asp:Button ID="btn_dessert" width="150px" class="btn btn-success btn-lg" runat="server" Text="Desserts" />
<asp:Button ID="btn_boisson" width="150px" class="btn btn-primary btn-lg" runat="server" Text="Boissons" />
</div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<div>
<asp:Panel ID="Panel_Entree" class="col-md-9" runat="server" style="display:flex;flex-wrap:wrap">
</asp:Panel>
<asp:UpdatePanel ID="UpdatePanel1" class="col-md-3" runat="server">
<ContentTemplate>
<div class="panel panel-danger">
<div class="panel-heading">A emporter</div>
<div class="panel-body">
<asp:Button ID="Button1" class="btn btn-danger btn-lg" runat="server" Text="Valider votre commande" style="justify-content:center"/>
<div style="border-bottom:1px solid black;margin-top:20px"></div>
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
我的代码
<asp:Panel ID="Panel_Generic" runat="server" Style="margin-left:30px;margin-right:30px;">
<div class="row">
<div class="col-lg-12">
<h2 class="page-header">
Vente à emporter
<small>Restaurant</small>
</h2>
<ol class="breadcrumb">
<li>
<i class="fa fa-dashboard"></i>Vos Informations
</li>
<li>
<i class="fa fa-file"></i> Votre commande
</li>
<li class="active">
<i class="fa fa-file"></i> Valider
</li>
</ol>
</div>
</div>
<div style="display:flex;justify-content:space-around;margin-bottom:30px">
<asp:Button ID="btn_Entree" width="150px" class="btn btn-info btn-lg" runat="server" Text="Entrées" />
<asp:Button ID="btn_Plat" width="150px" class="btn btn-warning btn-lg" runat="server" Text="Plats" />
<asp:Button ID="btn_dessert" width="150px" class="btn btn-success btn-lg" runat="server" Text="Desserts" />
<asp:Button ID="btn_boisson" width="150px" class="btn btn-primary btn-lg" runat="server" Text="Boissons" />
</div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<div>
<asp:Panel ID="Panel_Entree" class="col-md-9" runat="server" style="display:flex;flex-wrap:wrap">
</asp:Panel>
<asp:UpdatePanel ID="UpdatePanel1" class="col-md-3" runat="server">
<ContentTemplate>
<div class="panel panel-danger">
<div class="panel-heading">A emporter</div>
<div class="panel-body">
<asp:Button ID="Button1" class="btn btn-danger btn-lg" runat="server" Text="Valider votre commande" style="justify-content:center"/>
<div style="border-bottom:1px solid black;margin-top:20px"></div>
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
答案 0 :(得分:0)
应该是
for (int i=1; i<=5; i++)
{
Label myLabel = new Label();
// Set the label's Text and ID properties.
myLabel.Text = "Label" + i.ToString();
myLabel.ID = "Label" + i.ToString();
PlaceHolder1.Controls.Add(myLabel);
// Add a spacer in the form of an HTML <br /> element.
PlaceHolder1.Controls.Add(new LiteralControl("<br />"));
}
它使用ids label1,label2&amp;创建动态标签。等等
如果你想创建动态按钮并点击这样
Button btn = new Button();
btn.ID = "btnSubmit";
btn.Text = "Submit";
btn.Click += new EventHandler(btnSubmit_Click);
this.Controls.Add(btn);
您需要事件处理程序btnSubmit_Click将click事件添加到按钮
希望这会有所帮助
答案 1 :(得分:0)
我可能误解了你的意图,但我认为这会做你所要求的。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindEntree();
}
else
{
Label1.Text = TextBox1.Text;
}
}
*您必须删除标签的文字值:
<asp:Label ID="Label1" runat="server" ></asp:Label>
请记住有几种方法可以做到这一点,这是相当粗糙的,但它会让你知道回发如何与更新面板一起工作..