Ich habe Formular in PlaceHolder-Steuerelement dynamisch erstellt, die in FormView in InsertItemTemplate befindet. Ich habe einen Knopf, auf dem ein Klick-Formular in FORMView sichtbar ist und innerhalb eines Formulars habe ich einen Button zum Einfügen. Wenn ich auf die Schaltfläche Einfügen klicke, verschwindet der Teil des Formulars, der dynamisch im Code erstellt wurde.Dynamisch erstelltes Formular verschwindet nach dem Drücken der Taste
Dies ist Code in ASP-Seite:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Button ID="btnShowForm" runat="server" BackColor="#336699" Font-Names="Arial" Font-Size="9pt" ForeColor="White" Text="Show Form" Width="160px"/>
<br>
<asp:FormView ID="FV" runat="server" DefaultMode="Edit" Width="100%">
<InsertItemTemplate>
<table style="width:60%; border: 1px solid black; border-collapse: collapse;">
<asp:PlaceHolder ID="plControlUnos" runat="server" />
<tr>
<td style="height:30px; text-align:center;" colspan="7">
<asp:Button ID="save" runat="server" BackColor="#336699" Font-Names="Arial" Font-Size="9pt" ForeColor="White" Text="Insert" Width="140px" CommandName="insert"/>
<asp:Button ID="cancel" runat="server" BackColor="#336699" Font-Names="Arial" Font-Size="9pt" ForeColor="White" Text="Cancel" Width="140px" CommandName="cancel"/>
</td>
</tr>
</table>
</InsertItemTemplate>
</asp:FormView>
</asp:Content>
Und das ist Methode, die anderen Teil Formular erstellen und in Platzhalter setzen:
Sub BindData()
Dim strConnString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim con As New SqlConnection(strConnString)
Dim cmd As New SqlCommand()
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT NAZIV, NAZIV_POLJA FROM PR;" & _
"SELECT NAZIV, NAZIV_POLJA FROM PP"
cmd.Connection = con
Using sda As New SqlDataAdapter()
cmd.Connection = con
sda.SelectCommand = cmd
Using ds As New DataSet
Try
con.Open()
sda.Fill(ds)
Dim holder As PlaceHolder = CType(FV.FindControl("plControlUnos"), PlaceHolder)
For Each Row As DataRow In ds.Tables(0).Rows
holder.Controls.Add(New LiteralControl("<tr style='border: 1px solid black; height:30px;'>"))
holder.Controls.Add(New LiteralControl("<td style='padding-right:40px; width:400px; text-align:right; background-color:lightgray;border: 1px solid black;'><b>"))
holder.Controls.Add(New LiteralControl(Row(columnName:="Naziv")))
holder.Controls.Add(New LiteralControl("</b></td>"))
holder.Controls.Add(New LiteralControl("<td style='width:300px; text-align:center; background-color:lightgray;border: 1px solid black;'>"))
Dim txtNOV As New TextBox()
txtNOV.ID = "txtNOV_" + Row(columnName:="NAZIV_POLJA") + "_KOMADA"
txtNOV.CssClass = "txtFormat"
holder.Controls.Add(txtNOV)
holder.Controls.Add(New LiteralControl("</td>"))
holder.Controls.Add(New LiteralControl("<td style='width:300px; text-align:center; background-color:lightgray;border: 1px solid black;'>"))
Dim txtNOV_SUM As New TextBox()
txtNOV_SUM.ID = "txtNOV_" + Row(columnName:="NAZIV_POLJA") + "_KOMADA_sum"
txtNOV_SUM.CssClass = "txtFormat"
txtNOV_SUM.Enabled = False
holder.Controls.Add(txtNOV_SUM)
holder.Controls.Add(New LiteralControl("</td>"))
holder.Controls.Add(New LiteralControl("</tr>"))
Next
holder.Controls.Add(New LiteralControl("<tr style='border: 1px solid black; height:30px;'>"))
holder.Controls.Add(New LiteralControl("<td colspan='2' style='text-align:center; background-color:lightgray;border: 1px solid black;'><b>UKUPNO NOVČANICE</b></td>"))
holder.Controls.Add(New LiteralControl("<td style='width:300px; text-align:center; background-color:lightgray;border: 1px solid black;'>"))
Dim txtNOV_KOMADA As New TextBox()
txtNOV_KOMADA.ID = "txtNOV_KOMADA"
txtNOV_KOMADA.CssClass = "txtFormat"
txtNOV_KOMADA.Enabled = False
holder.Controls.Add(txtNOV_KOMADA)
holder.Controls.Add(New LiteralControl("</td>"))
holder.Controls.Add(New LiteralControl("<td style='width:300px; text-align:center; background-color:lightgray;border: 1px solid black;'>"))
Dim txtNOV_KOMADA_sum As New TextBox()
txtNOV_KOMADA_sum.ID = "txtNOV_KOMADA_sum"
txtNOV_KOMADA_sum.CssClass = "txtFormat"
txtNOV_KOMADA_sum.Enabled = False
holder.Controls.Add(txtNOV_KOMADA_sum)
holder.Controls.Add(New LiteralControl("</td>"))
holder.Controls.Add(New LiteralControl("</tr>"))
holder.Controls.Add(New LiteralControl("<tr style='border: 1px solid black; height:25px;'>"))
holder.Controls.Add(New LiteralControl("<td rowspan='9' style='width:100px; text-align:center; background-color:lightgray;border: 1px solid black;' ><b>B)</b></td>" & _
"<td colspan='3' style='padding-left:40px;width:100px; text-align:left; background-color:lightgray;border: 1px solid black;'><b>Kovani novac</b></td>" & _
"</tr>"))
Catch ex As Exception
Response.Write("Error:" & ex.ToString)
Finally
cmd.Parameters.Clear()
con.Close()
End Try
End Using
End Using
End Sub
Dies ist der Knopf auf dem meine Form Klick werden sichtbar und erstellt:
Hier ist der Knopf (Einfügen) in meinem Formular, auf dem klicken Sie fo rm verschwinden:
Protected Sub FV_ItemCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewCommandEventArgs) Handles FV.ItemCommand
If e.CommandName = "insert" Then
Then
End Sub
Was muss ich tun, um mein Formular verschwinden nach dem Klicken zu stoppen?
habe ich diese und Form wieder nach Button-Klick verschwindet. Aber wenn dies passiert, werden alle meine Daten verloren gehen, weil das Formular neu erstellt wird. – SeaSide
Die Daten gehen verloren, wenn Sie das Formular NICHT neu erstellen. Und an "btnShowForm" ist das Ereignis "btnShowForm_Click" nicht gebunden. Das ist wahrscheinlich der Grund, warum es immer noch nicht funktioniert. – VDWWD