0

ドロップダウンをリストビューに入力する必要がある複雑なプロジェクトがあります。私にできること。ただし、プルダウンから正しい値を選択して[更新]をクリックすると、リストビューに空白の値が返されます。月に応じて「日」がプルオウンからのサンプルコードを添付しました。

誰かがこれを機能させるために私のコードを編集してください。私が行った調査から、それは選択されたインデックスの変更と関係があると思います。

Visual Web Developer2010Expressを使用しています。Framework3.5も使用しています。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>

    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:DispatchConnectionString %>" 
        SelectCommand="SELECT [day] FROM [TMP]"></asp:SqlDataSource>

</div>
<asp:ListView ID="ListView1" runat="server" DataKeyNames="month" 
    DataSourceID="SqlDataSource1" InsertItemPosition="LastItem">
    <AlternatingItemTemplate>
        <tr style="">
            <td>
                <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                    Text="Delete" />
                <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
            </td>
            <td>
                <asp:Label ID="monthLabel" runat="server" Text='<%# Eval("month") %>' />
            </td>
            <td>
                <asp:Label ID="dayLabel" runat="server" Text='<%# Eval("day") %>' />
            </td>
        </tr>
    </AlternatingItemTemplate>
    <EditItemTemplate>
        <tr style="">
            <td>
                <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                    Text="Update" />
                <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                    Text="Cancel" />
            </td>
            <td>
                <asp:Label ID="monthLabel1" runat="server" Text='<%# Eval("month") %>' />
            </td>
            <td>
                <%--<asp:TextBox ID="dayTextBox" runat="server" Text='<%# Bind("day") %>' />--%>
                <asp:DropDownList ID="list" runat="server" DataSourceID="SqlDataSource2" 
                      DataTextField="day" DataValueField="day">
                  </asp:DropDownList>
            </td>
        </tr>
    </EditItemTemplate>
    <EmptyDataTemplate>
        <table runat="server" style="">
            <tr>
                <td>
                    No data was returned.</td>
            </tr>
        </table>
    </EmptyDataTemplate>
    <InsertItemTemplate>
        <tr style="">
            <td>
                <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                    Text="Insert" />
                <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                    Text="Clear" />
            </td>
            <td>
                <asp:TextBox ID="monthTextBox" runat="server" Text='<%# Bind("month") %>' />
            </td>
            <td>
                <asp:TextBox ID="dayTextBox" runat="server" Text='<%# Bind("day") %>' />
            </td>
        </tr>
    </InsertItemTemplate>
    <ItemTemplate>
        <tr style="">
            <td>
                <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                    Text="Delete" />
                <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
            </td>
            <td>
                <asp:Label ID="monthLabel" runat="server" Text='<%# Eval("month") %>' />
            </td>
            <td>
                <asp:Label ID="dayLabel" runat="server" Text='<%# Eval("day") %>' />
            </td>
        </tr>
    </ItemTemplate>
    <LayoutTemplate>
        <table runat="server">
            <tr runat="server">
                <td runat="server">
                    <table ID="itemPlaceholderContainer" runat="server" border="0" style="">
                        <tr runat="server" style="">
                            <th runat="server">
                            </th>
                            <th runat="server">
                                month</th>
                            <th runat="server">
                                day</th>
                        </tr>
                        <tr ID="itemPlaceholder" runat="server">
                        </tr>
                    </table>
                </td>
            </tr>
            <tr runat="server">
                <td runat="server" style="">
                </td>
            </tr>
        </table>
    </LayoutTemplate>
    <SelectedItemTemplate>
        <tr style="">
            <td>
                <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                    Text="Delete" />
                <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
            </td>
            <td>
                <asp:Label ID="monthLabel" runat="server" Text='<%# Eval("month") %>' />
            </td>
            <td>
                <asp:Label ID="dayLabel" runat="server" Text='<%# Eval("day") %>' />
            </td>
        </tr>
    </SelectedItemTemplate>
</asp:ListView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DispatchConnectionString %>" 
    DeleteCommand="DELETE FROM [TMP] WHERE [month] = @month" 
    InsertCommand="INSERT INTO [TMP] ([month], [day]) VALUES (@month, @day)" 
    SelectCommand="SELECT * FROM [TMP]" 
    UpdateCommand="UPDATE [TMP] SET [day] = @day WHERE [month] = @month">
    <DeleteParameters>
        <asp:Parameter Name="month" Type="String" />
    </DeleteParameters>
    <InsertParameters>
        <asp:Parameter Name="month" Type="String" />
        <asp:Parameter Name="day" Type="String" />
    </InsertParameters>
    <UpdateParameters>
        <asp:Parameter Name="day" Type="String" />
        <asp:Parameter Name="month" Type="String" />
    </UpdateParameters>
</asp:SqlDataSource>
</form>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//using System.Web.UI.WebControls.button;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
   {

   }
}
4

1 に答える 1

0

ドロップダウンリストで日付が変更された後、リストビューを再バインドする必要があります。EditItemTemplateにドロップダウンリストがあるようです。リストビューの更新イベントを処理し、データソースを更新された日に再バインドします。

于 2012-05-07T19:21:04.797 に答える