先看图片以前更新的时候用了自带的updata,现在把detailsview转换成了模板。有了下拉框。如图。现在想更新下拉框的所选择的,求代码。(今天搞了一天,都没有头绪,我是新手。)html:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>人员详情</title>
</head>
<body>        
         <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConflictDetection="CompareAllValues" 
        ConnectionString="<%$ ConnectionStrings:bsaddpersonConnectionString %>" 
                       
        
        UpdateCommand="UPDATE [bsperson] SET [kb] = @kb, [jz] = @jz,  [xm] = @xm, [jb] = @jb, [zw] = @zw, [rsr] = @rsr, [xb] = @xb, [csnyr] = @csnyr, [lb] = @lb, [dlrq] = @dlrq, [sszz] = @sszz, [ssbz] = @ssbz, [gwm] = @gwm, [gw] = @gw WHERE [gh] = @gh">        <SelectParameters>
            <asp:QueryStringParameter Name="gh" QueryStringField="gh" Type="String" />
        </SelectParameters>
               <UpdateParameters>
            <asp:Parameter Name="kb" Type="String" />
            <asp:Parameter Name="jz" Type="String" />
            <asp:Parameter Name="gh" Type="String" />
            <asp:Parameter Name="xm" Type="String" />
            <asp:Parameter Name="jb" Type="String" />
            <asp:Parameter Name="zw" Type="String" />
            <asp:Parameter Name="rsr" Type="String" />
            <asp:Parameter Name="xb" Type="String" />
            <asp:Parameter Name="csnyr" Type="String" />
            <asp:Parameter Name="lb" Type="String" />
            <asp:Parameter Name="dlrq" Type="String" />
            <asp:Parameter Name="sszz" Type="String" />
            <asp:Parameter Name="ssbz" Type="String" />
            <asp:Parameter Name="gwm" Type="String" />
            <asp:Parameter Name="gw" Type="String" />
            <asp:Parameter Name="original_id" Type="Int32" />
            <asp:Parameter Name="original_kb" Type="String" />
            <asp:Parameter Name="original_jz" Type="String" />
            <asp:Parameter Name="original_gh" Type="String" />
            <asp:Parameter Name="original_xm" Type="String" />
            <asp:Parameter Name="original_jb" Type="String" />
            <asp:Parameter Name="original_zw" Type="String" />
            <asp:Parameter Name="original_rsr" Type="String" />
            <asp:Parameter Name="original_xb" Type="String" />
            <asp:Parameter Name="original_csnyr" Type="String" />
            <asp:Parameter Name="original_lb" Type="String" />
            <asp:Parameter Name="original_dlrq" Type="String" />
            <asp:Parameter Name="original_sszz" Type="String" />
            <asp:Parameter Name="original_ssbz" Type="String" />
            <asp:Parameter Name="original_gwm" Type="String" />
            <asp:Parameter Name="original_gw" Type="String" />
        </UpdateParameters>
            </asp:SqlDataSource>
    </form>
</body>
</html>
cs:
public partial class main_xiangxi : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SqlConnection com = new SqlConnection("server=.;database=bsaddperson;uid=sa;pwd=epson");
            com.Open();
            string sqlstr = "select * from bsperson where gh='" + Request["gh"].ToString() + "'";
        }
    }
}

解决方案 »

  1.   

    <%@Page  Language="C#" %>
    <%@Import Namespace="System.Data" %>
    <%@Import Namespace="System.Data.Common" %>
    <%@Import Namespace="System.Data.SqlClient" %>
    <%@Import Namespace="System.Diagnostics" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><SCRIPT runat="server"> private void On_Click(Object source, EventArgs e) {    
        SqlDataSource1.Update();
     } private void OnSqlUpdating(Object source, SqlDataSourceCommandEventArgs e) {
        DbCommand command = e.Command;
        DbConnection cx  = command.Connection;    
        cx.Open();    
        DbTransaction tx = cx.BeginTransaction();
        command.Transaction = tx;
     } private void OnSqlUpdated(Object source, SqlDataSourceStatusEventArgs e) {
        DbCommand command = e.Command;
        DbTransaction tx = command.Transaction;
        
        // In this code example the OtherProcessSucceeded variable represents
        // the outcome of some other process that occurs whenever the data is 
        // updated, and must succeed for the data change to be committed. For 
        // simplicity, we set this value to true. 
        bool OtherProcessSucceeded = true;
        
        if (OtherProcessSucceeded) {
            tx.Commit();
            Label2.Text="The record was updated successfully!";
        }
        else {
            tx.Rollback();
            Label2.Text="The record was not updated.";
        }
     }</SCRIPT><HTML>
      <BODY>
        <FORM runat="server">
          <asp:SqlDataSource
              id="SqlDataSource1"
              runat="server"
              ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
              SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
              UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"
              OnUpdating="OnSqlUpdating"
              OnUpdated ="OnSqlUpdated">
              <UpdateParameters>
                  <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
                  <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
              </UpdateParameters>
          </asp:SqlDataSource>      <asp:DropDownList
              id="DropDownList1"
              runat="server"
              DataTextField="LastName"
              DataValueField="EmployeeID"
              DataSourceID="SqlDataSource1">
          </asp:DropDownList>      <P>
          <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user." />
          <asp:TextBox id="TextBox1" runat="server" />
          <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />      <P><asp:Label id="Label2" runat="server" Text="" />    </FORM>
      </BODY>
    </HTML>