0

我想实现以下场景......

本题相关表格如下:

ProfileID int (identity) FirstName varchar(100) LastName varchar(100)

步骤 1. 用户访问profiles.aspx 页面。在网格视图中,他可以看到其他人的个人资料。(我知道该怎么做。)

步骤 2. 用户访问 MyProfile.aspx 页面。由于他的个人资料不存在,因此详细信息视图为空白,并启用了插入按钮。用户单击插入按钮,他只能添加自己的个人资料。(我不知道该怎么做)。

第 3 步。添加用户配置文件后,它会显示在profiles.aspx 页面上。他想更新自己的个人资料。他导航到带有 ProfileID 的 MyProfile.aspx 页面,可以说是 33。DetailsView 能够根据 profileid 提取他的个人资料并启用更新按钮。(我不知道该怎么做。)

有人可以帮我完成第 2 步和第 3 步。我不知道如何设置 sqldatasource 和 detailsview 来完成此操作。

先感谢您。

4

2 回答 2

0

见下面的例子........ 源文件.aspx 我正在使用gridview 和detailsview 来插入、更新、编辑一个卡车管理员表。执行以下步骤: 1.take a gridview.assign datakeynames 作为表中的唯一列。您可以为每个字段编写 boundfields。事实上这是更好的方法。2.获取数据源控制。将其绑定到您的表。3.将此数据源绑定到Gridview。通过以下代码,您将更好地理解此步骤。4.获取详细信息视图。将数据键名指定为表中的唯一列。5.获取另一个数据源。将其绑定到同一个表。声明插入命令,选择命令。声明选择参数,更新参数,如下面的代码。希望它会帮助你。

<asp:GridView id                  ="gridTruckMaster" 
          runat               ="server" 
          CssClass            ="GridView" 
          DataKeyNames        ="TruckType" 
          DataSourceID        ="SqlDataSource1" 
          AutoGenerateColumns ="False" 
          ShowFooter          ="True" 
          AllowPaging         ="True">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True"    ForeColor="White"></FooterStyle>
<RowStyle    VerticalAlign="Top" BackColor="#F7F6F3" ForeColor="#333333"></RowStyle>
<Columns>
<asp:BoundField   DataField="TruckType"     HeaderText="TruckType"     SortExpression="TruckType"></asp:BoundField>
<asp:BoundField   DataField="TruckCapacity" HeaderText="TruckCapacity" SortExpression="TruckCapacity"></asp:BoundField>
<asp:CommandField ShowSelectButton="True"></asp:CommandField>
</Columns>
<PagerStyle       BackColor="#284775" HorizontalAlign="Center"   ForeColor="White"></PagerStyle>
<SelectedRowStyle BackColor="#669999" Font-Bold="True"           ForeColor="White"></SelectedRowStyle>
<HeaderStyle      BackColor="#5D7B9D" Font-Bold="True"           ForeColor="White"></HeaderStyle>
</asp:GridView> 

<asp:SqlDataSource ID               ="SqlDataSource1" 
                   runat            ="server" 
                   ConnectionString ="<%$ ConnectionStrings:GodrejReporterConnectionString %>"
                   SelectCommand    ="SELECT [TruckType], [TruckCapacity] FROM [tbl_TruckMaster]"></asp:SqlDataSource>


<asp:DetailsView  id               ="dtlviewTruckMaster"   
              runat            ="server"         
              CssClass         ="GridView" 
              Width            ="125px" 
              DataKeyNames     ="TruckType" 
              Height           ="50px" 
              AutoGenerateRows ="False"
              HeaderText       ="Truck Details"
        ><Fields>
<asp:BoundField   DataField="TruckType"     HeaderText="TruckType" ReadOnly="True"></asp:BoundField>
<asp:BoundField   DataField="TruckCapacity" HeaderText="TruckCapacity"></asp:BoundField>
<asp:CommandField ShowInsertButton="True"></asp:CommandField>
<asp:CommandField ShowEditButton="True"></asp:CommandField>
</Fields>
<FooterStyle     BackColor="#5D7B9D"      Font-Bold="True"    ForeColor="White"></FooterStyle>
<RowStyle        VerticalAlign="Top"      BackColor="#F7F6F3" ForeColor="#333333"></RowStyle>
<EditRowStyle    Width="250px"            Height="10px"/>
<InsertRowStyle  Width="250px"            Height="10px" />
<PagerStyle      HorizontalAlign="Center" BackColor="#284775" ForeColor="White"></PagerStyle>
<HeaderStyle     BackColor="#5D7B9D"      Font-Bold="True"    ForeColor="White"></HeaderStyle>
<CommandRowStyle BackColor="#5D7B9D" />
</asp:DetailsView> 

<asp:SqlDataSource ID               ="SqlDataSource2" 
                   runat            ="server" 
                   ConnectionString ="<%$ ConnectionStrings:GodrejReporterConnectionString %>"
                   SelectCommand    ="SELECT [TruckType], [TruckCapacity] FROM [tbl_TruckMaster] where TruckType=@pTruckType"
                   insertcommand    ="insert into tbl_TruckMaster(TruckType,TruckCapacity) values(@TruckType,@TruckCapacity)"
                   updatecommand    ="update tbl_TruckMaster set TruckCapacity=@TruckCapacity where TruckType=@pType"
    >
    <SelectParameters>
        <asp:ControlParameter ControlID="gridTruckMaster" Name="pTruckType" PropertyName="SelectedValue" />
    </SelectParameters>
    <UpdateParameters>
        <asp:ControlParameter ControlID="gridTruckMaster" Name="pType"      PropertyName="SelectedValue" />
    </UpdateParameters>
</asp:SqlDataSource>

如果您遇到问题,可以通过 tbchandgude@gmail.com 给我发邮件

于 2009-03-18T05:24:24.590 回答
0

好的,我会给你一个简单的解决方案,你可以根据自己的需要进行更改。

对于第 2 步:例如,您创建一个名为 create.aspx 的页面;在该页面中,您放置了所有需要的文本框和一个注册按钮。在该按钮的单击事件上,编写如下内容

//using System.Data;
//using System.Data.Sql; you have to import these

//Put connection string
SqlConnection sqlcon = new SqlConnection("your connection string here which will be able to find in MSDN");
sql.Open();
SqlCommand sqlcmd = new SqlCommand("INSERT INTO Statement which easily find in MSDN too",sqlcon);
sqlcmd.ExecuteNoneQuery();
sql.Close();

您可以根据需要将该代码插入到数据库中。在 INSERT INTO 字符串中,您连接您的输入,但要非常小心,这可能会导致非常危险的 SqlInjection 错误。(请阅读有关它的文章)。

对于第 3 步:一切都是一样的,除了你必须使用可以在 MSDN 上找到的“UPDATE ...”语句而不是放置“INSERT ....”语句。

问候, 波利亚。

于 2009-03-04T02:55:27.680 回答