我已经创建了一个Web表单“Product.aspx”,产品将被插入到数据库中。
我使用了实体框架4.0,我正在使用DetailsView来插入数据
<asp:DetailsView ID="DV_Product" runat="server" Height="70px" Width="60%"
AutoGenerateRows="False" DataKeyNames="ProductId" DataSourceID="EDS_Product"
DefaultMode="Insert" OnItemInserting="DVProduct_ItemInserting">
<Fields>
<asp:BoundField DataField="Product1" HeaderText="Product" SortExpression="Product1" ControlStyle-Width="250"/>
<asp:TemplateField HeaderText="Category">
<InsertItemTemplate>
<asp:EntityDataSource ID="EDS_Category" runat="server" ConnectionString="name=SpunkKraftEntities1"
DefaultContainerName="SpunkKraftEntities1" EnableDelete="True"
EnableFlattening="False" EntitySetName="Categories" EntityTypeFilter="Category">
</asp:EntityDataSource>
<asp:DropDownList ID="DD_Category" runat="server" DataSourceID="EDS_Category" Width="250"
DataTextField="Category1" DataValueField="CategoryId" OnInit="DD_Category_Init">
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description" >
<InsertItemTemplate>
<asp:TextBox ID="txt_Description" runat="server" TextMode="MultiLine" OnInit="txt_Description_Init" Width="250">
</asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Unit Price" HeaderText="Unit Price" />
<asp:TemplateField HeaderText="Upload Image">
<InsertItemTemplate>
<asp:FileUpload ID="fu_image" runat="server" OnInit="fu_image_Init"/>
</InsertItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowInsertButton="true" />
</Fields>
</asp:DetailsView>
我有另一个页面“ManageProduct.aspx”,我使用gridview显示产品列表
我想在DetailsView中编辑记录。我可以想象当我点击“选择”或“编辑”然后它应该重定向到“Product.aspx?ProductId = x”并填写DetailsView中的产品详细信息。我想问的是如何重定向产品ID并重定向到“Product.aspx”我如何填写详细信息并更新?
答案 0 :(得分:0)
尝试这种方式,此处我们将您的产品ID视为产品名称。
在RowEditing事件上,请执行此操作
Response.Redirect("Products.aspx?Id="+GridView1.SelectedRow.Cells[2].Text);
在Products.aspx的page_load上提到这样,
if(Request[Id]!=null)
{
string demo = Request[Id].ToString();
SqlConnection con = new SqlConnection("Your connection String");
SqlCommand cmd = new SqlCommand("Select * from Your table where name = '"+demo+"'")
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
DetailsView1.Rows[0].Cells[2].Text = dr.GetString(0);//Your Product goes here
// Proceed the same for your remaining entries
}
}
希望你有一些想法可以进一步发展。如果我的回答有任何混淆。请告诉我。