0

私のバックグラウンドは PHP / MySQL ですが、現在 MySQL で ASP.Net を使用する方法を学ぼうとしています。ユーザーがタスクを追加できる小さなアプリケーションを作成しました。ボタンが押されたときにタスクの完全なリストを取得しようとしています。ある時点で、最初の行の約半分が表示され、他には何も表示されないという結果が得られました (taskid & createdate)。それが表示されなくなりましたが、その理由はわかりません。

この問題を解決するのに役立つアドバイスや情報はありますか?

www.galtechsolutions.net/tasklist でアプリケーションを表示できます。

私のマークアップは次のとおりです。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="viewtasks.aspx.vb" Inherits="MyTasks.ViewTasks" %>

<!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">
<link href="style.css" rel="Stylesheet" media="screen" />
<title>TaskList - View Tasks</title>
</head>
<body>
<a href="default.aspx">Home</a> | <a href="addtask.aspx">Add Task</a> | <a href="viewtasks.aspx">View Tasks</a>
<br /><br />
<form id="form1" runat="server">
<div>
    <asp:Button ID="gettasks" runat="server" Text="Show Tasks" class="taskbutton" />
    <br /><br />
    <asp:DataGrid ID="DataGridView1" runat="server" PageSize="5" AllowPaging="True" 
        DataKeyField="taskid" AllowSorting="True" 
        EmptyDataText="There are no data records to display" AutoGenerateColumns="false">
    <Columns>
    <asp:BoundColumn HeaderText="taskid" DataField="taskid"></asp:BoundColumn>
    <asp:BoundColumn HeaderText="createdate" DataField="createdate"></asp:BoundColumn>
    <asp:BoundColumn HeaderText="taskname" DataField="taskname="></asp:BoundColumn>
    <asp:BoundColumn HeaderText="taskdesc" DataField="taskdesc"></asp:BoundColumn>
    <asp:BoundColumn HeaderText="duedate" DataField="duedate"></asp:BoundColumn>
    </Columns>
    </asp:DataGrid>      
    <asp:Label ID="gettaskslabel" runat="server"></asp:Label>
    <br />
    <br />
</div>
</form>
</body>
</html>

私のコードビハインドは次のとおりです。

Protected Sub gettasks_Click(sender As Object, e As EventArgs) Handles gettasks.Click

    Dim conn As MySqlConnection
    Dim selcmd As MySqlCommand
    Dim SQL As String

    conn = New MySqlConnection("Data Source=phaspdev1.db.10654019.hostedresource.com;Database=phaspdev1;User Id=;Password=;")
    selcmd = New MySqlCommand

    Try
        conn.Open()
        SQL = "SELECT * FROM mytasks"
        selcmd.Connection = conn
        selcmd.CommandText = SQL

        dtadapter.SelectCommand = selcmd
        dtadapter.Fill(dt)


        DataGridView1.DataSource = dt
        DataGridView1.DataBind()
        DataGridView1.DataSource = dt.Columns.Add("taskid", GetType(Integer))
        DataGridView1.DataSource = dt.Columns.Add("createdate", GetType(Date))
        DataGridView1.DataSource = dt.Columns.Add("taskname", GetType(String))
        DataGridView1.DataSource = dt.Columns.Add("taskdesc", GetType(String))
        DataGridView1.DataSource = dt.Columns.Add("duedate", GetType(Date))

        For Each dr As DataRow In dt.Rows
            dt.Rows.Add(dr)

        Next dr
        dt.AcceptChanges()

    Catch ex As Exception
        Console.WriteLine("Cannot connect to database: " & ex.Message)
    Finally
        conn.Close()
        conn.Dispose()

    End Try

End Sub

前もって感謝します、

ピーター

4

1 に答える 1

0

autoeventwireup を true に設定してみてください。ボタンにイベントハンドラーが設定されていないようです。

http://msdn.microsoft.com/en-us/library/system.web.configuration.pagessection.autoeventwireup.aspx

于 2013-03-29T23:09:20.527 に答える