Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 将单个C下拉选择中的值传递给查询字符串_.net_Asp.net_Listbox_Telerik_Drop Down Menu - Fatal编程技术网

.net 将单个C下拉选择中的值传递给查询字符串

.net 将单个C下拉选择中的值传递给查询字符串,.net,asp.net,listbox,telerik,drop-down-menu,.net,Asp.net,Listbox,Telerik,Drop Down Menu,我有一个DropDownList和一个ListBox,运行良好。当用户将所选内容从Products表移动到ListBox中的ProductsMail表时,我需要能够将DropDownList中的所选值插入数据库。我已多次尝试修改SQL字符串,但都没有成功,例如+EmailDDN.SelectedItem+和+EmailDDN.SelectedValue+等。我可以将所选值显示在EmailLabel1标签中,但不能显示在查询中。请提供解决方案。 谢谢你抽出时间。 _JT 嗨,苏亚克兰 在Desti

我有一个DropDownList和一个ListBox,运行良好。当用户将所选内容从Products表移动到ListBox中的ProductsMail表时,我需要能够将DropDownList中的所选值插入数据库。我已多次尝试修改SQL字符串,但都没有成功,例如+EmailDDN.SelectedItem+和+EmailDDN.SelectedValue+等。我可以将所选值显示在EmailLabel1标签中,但不能显示在查询中。请提供解决方案。 谢谢你抽出时间。 _JT

嗨,苏亚克兰

在DestinationDataSource中:

UpdateCommand="UPDATE ProductsMail SET Name = @Name, Email = @Email, EmailID = @EmailID WHERE ID = @ID". 
我尝试过以下修改:

"UPDATE ProductsMail SET Name = @Name, Email = ' + @Email + ', EmailID = @EmailID WHERE ID = @ID" and "UPDATE ProductsMail SET Name = @Name, Email = ' +EmailDDN.SelectedItem+ ', EmailID = @EmailID WHERE ID = @ID"
还有一些没有成功

<telerik:RadScriptManager ID="ScriptManager" runat="server" />
<telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel1" />
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1">
  <asp:SqlDataSource ID="SqlDataSource2" ConnectionString="<%$ ConnectionStrings:IPdataConnectionString %>"
    ProviderName="System.Data.SqlClient" SelectCommand="SELECT DISTINCT Email FROM [aspnet_Membership]"
    runat="server"></asp:SqlDataSource>
  <label for="EmailDDN">
    <asp:Label ID="Label2" runat="server" class="text">Select Email:&nbsp;</asp:Label>
  </label>
  <asp:DropDownList ID="EmailDDN" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource2"
    AppendDataBoundItems="True" DataTextField="Email" DataValueField="Email" OnSelectedIndexChanged="DDN_SelectedIndexChanged">
    <asp:ListItem>
           Select your email address
    </asp:ListItem>
  </asp:DropDownList>
  <br />
  <br />
  <asp:Label ID="EmailLabel1" runat="server" />
  <br />
  <br />
  <br />
</telerik:RadAjaxPanel>
<telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel2" />
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel2" LoadingPanelID="RadAjaxLoadingPanel1">
  <telerik:RadListBox runat="server" ID="RadListBox1" DataSourceID="SourceDataSource"
    AllowAutomaticUpdates="true" DataKeyField="ID" DataTextField="Name" DataSortField="SortOrder"
    Width="230px" Height="200px" AllowTransfer="true" TransferToID="RadListBox2" TransferMode="Copy"
    AutoPostBackOnTransfer="true" />
  <telerik:RadListBox runat="server" ID="RadListBox2" DataSourceID="DestinationDataSource"
    AllowAutomaticUpdates="true" DataKeyField="ID" DataTextField="Name" DataSortField="SortOrder"
    Width="230px" Height="200px" AllowReorder="true" AutoPostBackOnReorder="true" AllowDelete="True"
    AutoPostBackOnDelete="true" />
</telerik:RadAjaxPanel>
<asp:SqlDataSource ID="SourceDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:IPdataConnectionString %>"
  ProviderName="System.Data.SqlClient" DeleteCommand="DELETE FROM Products WHERE ID = @ID"
  InsertCommand="INSERT INTO Products (Name, ID, Email, EmailID) VALUES (@Name, @ID, @Email, @EmailID)"
  SelectCommand="SELECT Name, ID, Email FROM Products" UpdateCommand="UPDATE Products SET Name = @Name, Email = @Email, EmailID = @EmailID WHERE ID = @ID">
  <UpdateParameters>
    <asp:Parameter Name="Name" Type="String" />
    <asp:Parameter Name="ID" Type="Int32" />
    <asp:Parameter Name="Email" Type="String" />
    <asp:Parameter Name="EmailID" Type="Int32" />
  </UpdateParameters>
  <DeleteParameters>
    <asp:Parameter Name="ID" Type="Int32" />
  </DeleteParameters>
  <InsertParameters>
    <asp:Parameter Name="Name" Type="String" />
    <asp:Parameter Name="ID" Type="Int32" />
    <asp:Parameter Name="Email" Type="String" />
    <asp:Parameter Name="EmailID" Type="Int32" />
  </InsertParameters>
  <SelectParameters>
    <asp:ControlParameter ControlID="EmailDDN" DefaultValue="Select One" Name="Email"
      PropertyName="SelectedValue" />
  </SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="DestinationDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:IPdataConnectionString %>"
  ProviderName="System.Data.SqlClient" DeleteCommand="DELETE FROM ProductsMail WHERE ID = @ID"
  InsertCommand="INSERT INTO ProductsMail (Name, ID, Email, EmailID) VALUES (@Name, @ID, @Email, @EmailID)"
  SelectCommand="SELECT Name, ID, Email FROM ProductsMail" UpdateCommand="UPDATE ProductsMail SET Name = @Name, Email = @Email, EmailID = @EmailID WHERE ID = @ID">
  <UpdateParameters>
    <asp:Parameter Name="Name" Type="String" />
    <asp:Parameter Name="Email" Type="String" />
    <asp:Parameter Name="EmailID" Type="Int32" />
    <asp:Parameter Name="ID" Type="Int32" />
  </UpdateParameters>
  <DeleteParameters>
    <asp:Parameter Name="ID" Type="Int32" />
  </DeleteParameters>
  <InsertParameters>
    <asp:Parameter Name="Name" Type="String" />
    <asp:Parameter Name="Email" Type="String" />
    <asp:Parameter Name="EmailID" Type="Int32" />
    <asp:Parameter Name="ID" Type="Int32" />
  </InsertParameters>
  <SelectParameters>
    <asp:ControlParameter ControlID="EmailDDN" DefaultValue="Select One" Name="Email"
      PropertyName="SelectedValue" />
  </SelectParameters>
</asp:SqlDataSource>
============================================
============================================
protected void DDN_SelectedIndexChanged(System.Object sender, System.EventArgs e)
{
  EmailLabel1.Text = EmailDDN.SelectedItem.ToString();
}

与您在部分中使用相同的方式,您可以通过在部分中执行此操作来传递电子邮件值


您在那里定义了sql数据源,并在选择更改时更新了电子邮件标签,但是您实际上在哪里调用数据库更新?谢谢RTPhary,这就成功了!另外一个问题。Products表中的My ID列配置为[ID][int]IDENTITY1,1 NOT NULL,。插入时,ProductsMail ID列接收NULL而不是数值。我怎样才能让它插入?你真的应该为一个新的问题开始一个新的线程,但我认为你可能只是从插入中删除整个和@ID。您只需忽略它,因为它是一个自动递增的标识列,当您添加新记录时,它应该自行填充。
  <InsertParameters>
    <asp:Parameter Name="Name" Type="String" />
    <asp:ControlParameter Name="Email" PropertyName="SelectedValue" ControlID="EmailDDN" />
    <asp:Parameter Name="EmailID" Type="Int32" />
    <asp:Parameter Name="ID" Type="Int32" />
  </InsertParameters>