asp:SqlDataSource,InsertParameters,asp:FormParameter为NULL [英] asp:SqlDataSource, InsertParameters, asp:FormParameter is NULL
问题描述
大家早上好!
昨晚我遇到一个问题,找不到解决方案,所以我现在可以帮助您:P
我正在使用SqlDataSource中的InsertComand写入数据库.问题在于参数始终为NULL.我用InsertParameters->获得它们. < asp:Formparameter formfield ="NameOfTheControl"就像msdn示例中一样,但我无法使其正常工作....是否可能是Formcontrol不能嵌套在另一个控件中?
真诚的Stefan
PS:这是完整的代码:
Good morning everyone!
I was sitting an a problem last night and couldn''t find a solution so I help you can help me now :P
I''m using the InsertComand from the SqlDataSource to write to a Database. The problem is that the Parameters are always NULL. I get them with the InsertParameters -> <asp:Formparameter formfield="NameOfTheControl" like in the msdn example but I cant get it to work.... Could it be that the Formcontrol can''t be nested in another Control?
Sincerely Stefan
PS: Here is the whole code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ManageKurse.aspx.cs" Inherits="FHGothamCity2.Personal.ManageKurse" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script runat="server">
private void LoginButton_Click(object source, EventArgs e)
{
DBStudiengaenge.Insert();
}
</script>
</asp:Content>
<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="TitleContent">
-- Personal
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<h2>Lehrveranstaltungsverwaltung:</h2> </br>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DataBaseConnectionString %>"
SelectCommand= "SELECT [Studiengang], [Name],[ID] FROM [Lehrveranstaltung] ORDER BY [Studiengang], [Name]"
>
</asp:SqlDataSource>
<asp:DataGrid id="DataGrid1" AutoGenerateColumns="False"
runat="server" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID" Visible="false"></asp:BoundColumn>
<asp:BoundColumn DataField="Name" HeaderText="Name"></asp:BoundColumn>
<asp:BoundColumn DataField="Studiengang" HeaderText="Studiengang"></asp:BoundColumn>
<asp:HyperLinkColumn
HeaderText="Eingetragene Studenten"
DataNavigateUrlField="ID"
DataNavigateUrlFormatString="ManageStudentenInKurs.aspx?id={0}"
Text="View"></asp:HyperLinkColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button runat="server" ID="btViewStudenten" CommandName="btViewStudenten" Text="Zeige Studentenliste" ToolTip="Zeigt die in den Kurs eingeschriebenen Studenten"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<div id="Kurs hinzufügen">
<fieldset class="login">
<legend>Lehrveranstaltung anlegen</legend>
<asp:ValidationSummary id="valSum"
DisplayMode="BulletList"
runat="server"
HeaderText="You must enter a value in the following fields:"/>
<p>Lehrveranstaltungsname:<br />
<asp:TextBox ID="LehrveranstaltungsName" runat="server" Height="17px" Width="117px"></asp:TextBox>
<asp:RequiredFieldValidator ID="LehrveranstaltungsNameRequiered" runat="server" ControlToValidate="LehrveranstaltungsName"
ErrorMessage="Name der Lehrveranstaltung ist notwendeig." ToolTip="Name der Lehrveranstaltung ist notwendeig.">*</asp:RequiredFieldValidator>
</p><p>Studiengang:<br />
<asp:DropDownList runat="server" DataSourceID="DBStudiengaenge" id="Studiengang"
DataTextField="Name" DataValueField="ID">
</asp:DropDownList>
</p><p>
<asp:SqlDataSource ID="DBStudiengaenge" runat="server"
ConnectionString="<%$ ConnectionStrings:DataBaseConnectionString %>"
SelectCommand="SELECT * FROM [Studiengang]"
InsertCommand= "INSERT INTO Lehrveranstaltung(Name, Studiengang, Beschreibung)
VALUES (@valueLehrveranstaltungsName, @valueStudiengang, @valueDescription)"
>
<InsertParameters>
<asp:FormParameter Name="valueLehrveranstaltungsName" formfield="LehrveranstaltungsName"/>
<asp:FormParameter Name="valueStudiengang" FormField="Studiengang" Direction="Input" />
<asp:FormParameter Name="valueDescription" FormField="Description"/>
</InsertParameters>
</asp:SqlDataSource>
</p><p>Beschreibung:<br />
<asp:TextBox ID="Description" runat="server" Height="70px" Width="400px" TextMode="multiline"> </asp:TextBox>
</p><p>
<br /><br />
<asp:Button ID="LoginButton" runat="server" BackColor="#FFFBFF" BorderColor="Black"
BorderStyle="Solid" BorderWidth="1px" CommandName="Lehrveranst"
Font-Bold="True" Font-Names="Verdana"
Font-Size="Small" ForeColor="#284775" Height="28px" Text="Lehrveranstalung anlegen"
Width="200px" onclick="LoginButton_Click" />
</p>
</fieldset>
</div>
</asp:Content>
推荐答案
ConnectionStrings:DataBaseConnectionString %>" SelectCommand= "SELECT [Studiengang], [Name],[ID] FROM [Lehrveranstaltung] ORDER BY [Studiengang], [Name]" span> > < /asp:SqlDataSource > <asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" runat="server" DataSourceID="SqlDataSource1"> < 列 > <asp:BoundColumn DataField="ID" HeaderText="ID" Visible="false"></asp:BoundColumn> <asp:BoundColumn DataField="Name" HeaderText="Name"></asp:BoundColumn> <asp:BoundColumn DataField="Studiengang" HeaderText="Studiengang"></asp:BoundColumn> <asp:HyperLinkColumn HeaderText="Eingetragene Studenten" DataNavigateUrlField="ID" DataNavigateUrlFormatString="ManageStudentenInKurs.aspx?id={0}" Text="View"></asp:HyperLinkColumn> < asp:TemplateColumn > < ItemTemplate > <asp:Button runat="server" ID="btViewStudenten" CommandName="btViewStudenten" Text="Zeige Studentenliste" ToolTip="Zeigt die in den Kurs eingeschriebenen Studenten"/< /ItemTemplate > < /asp:TemplateColumn > < /列 > </asp:DataGrid> <div id="Kurs hinzufügen"> <fieldset class="login"> <legend>Lehrveranstaltung anlegen</legend> <asp:ValidationSummary id="valSum" DisplayMode="BulletList" runat="server" HeaderText="You must enter a value in the following fields:"/> <p>Lehrveranstaltungsname:<br /> <asp:TextBox ID="LehrveranstaltungsName" runat="server" Height="17px" Width="117px"></asp:TextBox> <asp:RequiredFieldValidator ID="LehrveranstaltungsNameRequiered" runat="server" ControlToValidate="LehrveranstaltungsName" ErrorMessage="Name der Lehrveranstaltung ist notwendeig." ToolTip="Name der Lehrveranstaltung ist notwendeig.">*</asp:RequiredFieldValidator> </p><p>Studiengang:<br /> <asp:DropDownList runat="server" DataSourceID="DBStudiengaenge" id="Studiengang" DataTextField="Name" DataValueField="ID"> < /asp:DropDownList > </p><p> <asp:SqlDataSource ID="DBStudiengaenge" runat="server" ConnectionString="<%
ConnectionStrings:DataBaseConnectionString %>" SelectCommand= "SELECT [Studiengang], [Name],[ID] FROM [Lehrveranstaltung] ORDER BY [Studiengang], [Name]" > </asp:SqlDataSource> <asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" runat="server" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundColumn DataField="ID" HeaderText="ID" Visible="false"></asp:BoundColumn> <asp:BoundColumn DataField="Name" HeaderText="Name"></asp:BoundColumn> <asp:BoundColumn DataField="Studiengang" HeaderText="Studiengang"></asp:BoundColumn> <asp:HyperLinkColumn HeaderText="Eingetragene Studenten" DataNavigateUrlField="ID" DataNavigateUrlFormatString="ManageStudentenInKurs.aspx?id={0}" Text="View"></asp:HyperLinkColumn> <asp:TemplateColumn> <ItemTemplate> <asp:Button runat="server" ID="btViewStudenten" CommandName="btViewStudenten" Text="Zeige Studentenliste" ToolTip="Zeigt die in den Kurs eingeschriebenen Studenten"/> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <div id="Kurs hinzufügen"> <fieldset class="login"> <legend>Lehrveranstaltung anlegen</legend> <asp:ValidationSummary id="valSum" DisplayMode="BulletList" runat="server" HeaderText="You must enter a value in the following fields:"/> <p>Lehrveranstaltungsname:<br /> <asp:TextBox ID="LehrveranstaltungsName" runat="server" Height="17px" Width="117px"></asp:TextBox> <asp:RequiredFieldValidator ID="LehrveranstaltungsNameRequiered" runat="server" ControlToValidate="LehrveranstaltungsName" ErrorMessage="Name der Lehrveranstaltung ist notwendeig." ToolTip="Name der Lehrveranstaltung ist notwendeig.">*</asp:RequiredFieldValidator> </p><p>Studiengang:<br /> <asp:DropDownList runat="server" DataSourceID="DBStudiengaenge" id="Studiengang" DataTextField="Name" DataValueField="ID"> </asp:DropDownList> </p><p> <asp:SqlDataSource ID="DBStudiengaenge" runat="server" ConnectionString="<%
ConnectionStrings:DataBaseConnectionString %>" SelectCommand="SELECT * FROM [Studiengang]" InsertCommand= "INSERT INTO Lehrveranstaltung(Name, Studiengang, Beschreibung) VALUES (@valueLehrveranstaltungsName, @valueStudiengang, @valueDescription)" < InsertParameters > <asp:FormParameter Name="valueLehrveranstaltungsName" formfield="LehrveranstaltungsName"/> <asp:FormParameter Name="valueStudiengang" FormField="Studiengang" Direction="Input" /> <asp:FormParameter Name="valueDescription" FormField="Description"/> < /InsertParameters > < /asp:SqlDataSource > </p><p>Beschreibung:<br /> <asp:TextBox ID="Description" runat="server" Height="70px" Width="400px" TextMode="multiline"> </asp:TextBox> </p><p> < br > br / > 跨度> <asp:Button ID="LoginButton" runat="server" BackColor="#FFFBFF" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" CommandName="Lehrveranst" Font-Bold="True" Font-Names="Verdana" Font-Size="Small" ForeColor="#284775" Height="28px" Text="Lehrveranstalung anlegen" Width="200px" onclick="LoginButton_Click" /> < /p > < /fieldset > < /div > </asp:Content>
ConnectionStrings:DataBaseConnectionString %>" SelectCommand="SELECT * FROM [Studiengang]" InsertCommand= "INSERT INTO Lehrveranstaltung(Name, Studiengang, Beschreibung) VALUES (@valueLehrveranstaltungsName, @valueStudiengang, @valueDescription)" > <InsertParameters> <asp:FormParameter Name="valueLehrveranstaltungsName" formfield="LehrveranstaltungsName"/> <asp:FormParameter Name="valueStudiengang" FormField="Studiengang" Direction="Input" /> <asp:FormParameter Name="valueDescription" FormField="Description"/> </InsertParameters> </asp:SqlDataSource> </p><p>Beschreibung:<br /> <asp:TextBox ID="Description" runat="server" Height="70px" Width="400px" TextMode="multiline"> </asp:TextBox> </p><p> <br /><br /> <asp:Button ID="LoginButton" runat="server" BackColor="#FFFBFF" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" CommandName="Lehrveranst" Font-Bold="True" Font-Names="Verdana" Font-Size="Small" ForeColor="#284775" Height="28px" Text="Lehrveranstalung anlegen" Width="200px" onclick="LoginButton_Click" /> </p> </fieldset> </div> </asp:Content>
Than you for your question. I had a similar problem like yours.
I have solved it like bellow.
Than you for your question. I had a similar problem like yours.
I have solved it like bellow.
ParentControlname
这篇关于asp:SqlDataSource,InsertParameters,asp:FormParameter为NULL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!