0

私は GridView に空のフィールドを持っています。私がやりたいことは、DetailView コントロールである別のコントロールからこの空のフィールドにデータを入力することです。ページが最初に読み込まれると、詳細ビ​​ュー コントロールにデータが読み込まれ、GridView は空白になります。では、DetailView の Post_ID フィールドを GridView に取得するにはどうすればよいですか。誰かがここで詳細な例を見せてもらえますか? 私の場合、コード ビハインドには C# が好まれます。GridView の私のフィールドは次のとおりです。

<asp:TemplateField HeaderText="Post ID"> 
            <ItemTemplate> 
                <asp:TextBox ID="TextBox0" runat="server"></asp:TextBox> 
            </ItemTemplate> 
        </asp:TemplateField>
4

2 に答える 2

0

グリッドビューを詳細ビューと同じデータソースにバインドできます。

于 2012-09-13T19:28:09.280 に答える
0

この場合のバインディングの最も合理化されたバージョンでは、コードを次のように変更します。

public void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
DataTable results = new DataTable();
using (SqlConnection connection = new SqlConnection(getconnectionstring()))
{
    connection.Open();
    using (SqlCommand command = new SqlCommand("SELECT firstname,lastname FROM crudtable",connection))
    {
        results.Load(command.ExecuteReader());
    }
}

DetailsView.DataSource = results;
DetailsView.DataBind();

GridView.DataSource = results;
GridView.DataBind();
}
}

次に、aspx ファイルで次のようにします。

//Put gridview tags here
<asp:TemplateField HeaderText="Post ID"> 
        <ItemTemplate> 
            <asp:TextBox ID="TextBox0" runat="server" Text='<%# Eval("Firstname") %>'></asp:TextBox> 
        </ItemTemplate> 
</asp:TemplateField>
于 2012-09-13T20:02:53.307 に答える