asp:SqlDataSource,InsertParameters,asp:FormParameter为NULL [英] asp:SqlDataSource, InsertParameters, asp:FormParameter is NULL

查看:85
本文介绍了asp:SqlDataSource,InsertParameters,asp:FormParameter为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆