Hi, All
I have a Modal Popup Extender(MPE) , it has textboxes that are build dynamically depends on the number of input of the user, for example the user input "6" then 6 textboxes will be generated in MPE , Now my problem is, how am i going to get value of those textboxes and save to database
my code is
<td class="GrdCB">
<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="False" Font-Size="10px"
OnRowDataBound="grid1_OnRowDataBound" CellPadding="4" ForeColor="#333333" GridLines="None"
SelectedIndex="1" OnRowDeleting="grvStudentDetails_RowDeleting"
CssClass="GrdviewCB" Width="700px">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Category">
<ItemTemplate>
<asp:TextBox ID="txtcategory" runat="server" Class="grdtxt" Width="100px"
Height="17px" ontextchanged="txtcategory_TextChanged" AutoPostBack="true"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtcategory" MinimumPrefixLength="1"
EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetCategory" CompletionListCssClass="AutoExtender">
</asp:AutoCompleteExtender>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Model">
<ItemTemplate>
<asp:DropDownList ID="ddlmodel" AutoPostBack="true" class="grdtxt" runat="server"
OnSelectedIndexChanged="ddlModel_SelectedIndexChanged" Width="70px">
</asp:DropDownList>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Description">
<ItemTemplate>
<asp:TextBox ID="txtdescrip" runat="server" class="grdtxt" Text="" AutoPostBack="true" TextMode="MultiLine" Width="60px" Height="17px" ></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText=" Price">
<ItemTemplate>
<asp:TextBox ID="txtPrice" runat="server" class="grdtxt" Text="" AutoPostBack="true"
OnTextChanged="txtQuantity2_TextChanged" onkeypress="AllowOnlyNumeric(event);"
Width="60px"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox ID="txtQuantity" runat="server" class="grdtxt" Text="" OnTextChanged="txtQuantity1_TextChanged"
AutoPostBack="true" onkeypress="AllowOnlyNumeric(event);" Width="40px"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Discount">
<ItemTemplate>
<asp:TextBox ID="txtdiscount" runat="server" class="grdtxt" Text="" AutoPostBack="true"
onkeypress="AllowOnlyNumeric(event);"
Width="50px" ontextchanged="txtdiscount_TextChanged"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Total">
<ItemTemplate>
<asp:TextBox ID="txttotamt" runat="server" class="grdtxt" Text="" AutoPostBack="true" onkeypress="AllowOnlyNumeric(event);" Width="60px"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Tax">
<ItemTemplate>
<asp:DropDownList ID="ddTax" AutoPostBack="true" OnTextChanged="txtQuantity_TextChanged" DataValueField="id" Value="id"
class="grdtxt" runat="server" Width="55px">
</asp:DropDownList>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Tax Amount">
<ItemTemplate>
<asp:TextBox ID="txttaxamt" runat="server" class="grdtxt" Text="" AutoPostBack="true" onkeypress="AllowOnlyNumeric(event);" Width="60px"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="Total Amount">
<ItemTemplate>
<asp:TextBox class="txtTotal" ID="txtTotal" CssClass="grdtxt" runat="server" Width="80px"
ReadOnly="True"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" class="closeImage" runat="server" Width="20px"
Height="15px" OnClick="ImageButton1_click" ImageUrl="Images/add_cross.gif" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:ImageButton ID="ImageButton2" class="closeImage" CommandName="Delete" runat="server"
Width="15px" Height="10px" ImageUrl="Images/close_cross.gif" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:ImageButton ID="ImageButton3" class="closeImage" runat="server"
Width="25px" Height="20px" ImageUrl="Images/serialnumber.png"
ToolTip="Add SerialNumber" onclick="ImageButton3_Click"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" Font-Size="11px" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:ModalPopupExtender ID="Modelpopserial" BehaviorID="Modelpopserial" runat="server" BackgroundCssClass="modalBackground" TargetControlID="HiddenField1" PopupControlID="paneltxtpopup" CancelControlID="imgclose"></asp:ModalPopupExtender>
<br />
</td>
<asp:Panel ID="paneltxtpopup" runat="server" style="width:400px; font-size:12px; display:none;">
<table id="tb1" class="style1" style="border:Solid 2px #5272B8; border-top-width:0px;" cellspacing="0">
<tr style="background-color:#507CD1; color:Black;"><td class="style85"> </td>
<td align="left">
<b>Add Here</b>
</td>
<td align="right">
<asp:ImageButton ID="ImageButton3" runat="server" Height="16px"
ImageUrl="Images/closeicon.png" style="margin-right:0px;" Width="16px" />
</td>
<tr>
<td>
</td>
<td align="left">
Category:
<asp:Label ID="lblcategorypopup" runat="server" Text="Label" Font-Bold="true"></asp:Label>
Model: <asp:Label ID="lblmodelpopup" runat="server" Text="Label" Font-Bold="true"></asp:Label></td>
<td align="right">
</td>
</tr>
<tr>
<td>
</td>
<%--<td><input id="btnAdd" onclick="AddTextBox()" type="button" value="add" /><br />
<div id="TextBoxContainer"><!--Textboxes will be added here --></div>
</td>--%>
<td align="left">
<asp:Panel ID="panelserial" runat="server">
</asp:Panel>
</td>
<td align="right">
</td>
</tr>
<tr>
<td>
</td>
<td align="left">
<asp:Button ID="btnaddpopup" runat="server" Text="Add" CssClass="button2"
onclick="btnaddpopup_Click" />
</td>
<td align="right">
</td>
</tr>
</table>
</asp:Panel>
cs code
protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
{
TextBox txtcategory = (TextBox)gridview1.Rows[0].Cells[1].FindControl("txtcategory");
DropDownList ddlmodel = (DropDownList)gridview1.Rows[0].Cells[2].FindControl("ddlmodel");
TextBox txtqunty = (TextBox)gridview1.Rows[0].Cells[2].FindControl("txtQuantity");
if (txtcategory.Text == "")
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Choose Category');", true);
}
else if (ddlmodel.Text == "")
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Choose Model');", true);
}
else if (txtqunty.Text == "")
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Choose Quantity');", true);
}
else
{
lblcategorypopup.Text = txtcategory.Text;
lblmodelpopup.Text = ddlmodel.SelectedItem.Text;
int n = Convert.ToInt32(txtqunty.Text);
for (int i = 0; i < n; i++)
{
TextBox MyTextBox = new TextBox();
MyTextBox.ID = "txtsno" + "" + ViewState["num"] + i;
MyTextBox.Width = 200;
MyTextBox.Height = 15;
MyTextBox.TextMode = TextBoxMode.SingleLine;
panelserial.Controls.Add(MyTextBox);
}
Modelpopserial.Show();
}
}
protected void btnaddpopup_Click(object sender, EventArgs e)
{
try
{
TextBox txtsno = (TextBox)panelserial.FindControl("txtsno");
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Error! :" + ex + "');", true);
}
}