Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
C# 单选按钮将中继器控件中的选定值插入SQL数据库_C#_Asp.net - Fatal编程技术网

C# 单选按钮将中继器控件中的选定值插入SQL数据库

C# 单选按钮将中继器控件中的选定值插入SQL数据库,c#,asp.net,C#,Asp.net,我已经实现了代码,在中继器控制与单选按钮选择 现在,我想将所选单选按钮值插入数据库 代码: <div id="ManageAddressPage" runat="server" style="margin-top: 10px"> <asp:Repeater ID="ManageAddressRepeater" runat="server"> <

我已经实现了代码,在中继器控制与单选按钮选择

现在,我想将所选单选按钮值插入数据库

代码:

<div id="ManageAddressPage" runat="server" style="margin-top: 10px">
    <asp:Repeater ID="ManageAddressRepeater" runat="server">
        <ItemTemplate>
            <div class="col-8 col-m-12" style="border: solid 1px LightGray">
                <div>
                    <asp:RadioButton ID="RadioButton1" runat="server" Text='<%#Eval("Name") %>' OnClick="javascript:singleselection(this.id)" />  
                </div>
            </div>
        </ItemTemplate>
    </asp:Repeater>

    <asp:Button ID="Button3" runat="server" CssClass="btnProfileSave" Text="Save Address" OnClick="Button3_Click" />
</div>

Javascript:选择一个值

<script type="text/javascript">
function singleselection(rbid) {
    var rbutton = document.getElementById(rbid);
    var rbuttonlist = document.getElementsByTagName("input")

    for (i = 0; i < rbuttonlist.length; i++) {
        if (rbuttonlist[i].type == "radio" && rbuttonlist[i].id !== rbutton.id) {
            rbuttonlist[i].checked = false;
        }
    }
}
</script>

功能选择(rbid){
var rbutton=document.getElementById(rbid);
var rbuttonlist=document.getElementsByTagName(“输入”)
对于(i=0;i
好吧,我们这里应该有更多信息

我们假设某个公司、某个人或任何东西(主表)

然后我们假设我们显示地址的子记录,并且您想要选择哪个是活动的。我们可能有2个或5个地址可供选择

因此,这非常表明在数据库中,这里需要哪个地址是活动的

这是我们的地址表-子表

好的,所以我们需要显示一些来自主reocrd的信息

然后对于孩子的记录-地址,我们需要把他们列出来

因此,我们的标记如下所示:

  <div>
        <br />
        <asp:HiddenField ID="HotelID" runat="server" />

        <div>
            Hotel Name: <asp:label ID="txtHotel" runat="server" Font-Size="X-Large"></asp:label>
            <br />
        </div>
        <h3>Select Active Address</h3>

         <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <div style="border-style:solid;color:black;width:250px;float:left">
        <asp:RadioButton ID="RadioButton1" runat="server"
            Checked = '<%# Eval("Active") %>'  
            Text = '<%# Eval("AddressLocation") %>'
            AutoPostBack="true"
            PKID = '<%# Eval("ID") %>'
            OnCheckedChanged="RadioButton1_CheckedChanged"
            />
            

        <div style="padding:5px;text-align:right">
            Location : <asp:TextBox ID="txtLoc" runat="server" Text ='<%# Eval("AddressLocation") %>' Width="130px" />
            <br />
            Address: <asp:TextBox ID="txtAddress" runat="server" Text ='<%# Eval("Address") %>'  Width="130px" />
            <br />
            City: <asp:TextBox ID="txtCity" runat="server" Text ='<%# Eval("City") %>'  Width="130px" />
            <br />
            <br />
        </div>
      </div>
       <div style="clear:both;height:10px"></div>
    </ItemTemplate>
</asp:Repeater>
        <br />
    </div>
protected void Page_Load(object sender, System.EventArgs e)
{
    if (IsPostBack == false)
    {
        HotelID.Value = 19;
        LoadData();
    }
}

public void LoadData()
{
    using (SqlCommand cmdSQL = new SqlCommand("SELECT * FROM tblAddress WHERE Hotel_ID = @ID",
                              new SqlConnection(My.Settings.TEST3)))
    {
        cmdSQL.Connection.Open();
        cmdSQL.Parameters.Add("@ID", SqlDbType.Int).Value = HotelID.Value;
        Repeater1.DataSource = cmdSQL.ExecuteReader;
        Repeater1.DataBind();
        cmdSQL.Connection.Close();

        // show hotel name (parent reocord) - Parmater already set
        cmdSQL.Connection.Open();
        cmdSQL.CommandText = "SELECT HotelName from tblHotels WHERE ID = @ID";
        txtHotel.Text = cmdSQL.ExecuteScalar;
    }
}

protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
    RadioButton btnRadio = sender;

    // un-check all address - radio button can ONLY click if not selected, so we 
    // always assume checked = true

    using (SqlCommand cmdSQL = new SqlCommand("UPDATE tblAddress SET Active = 0 WHERE Hotel_ID = @ID", 
                              new SqlConnection(My.Settings.TEST3)))
    {
        cmdSQL.Connection.Open();

        cmdSQL.Parameters.Add("@ID", SqlDbType.Int).Value = HotelID.Value;
        cmdSQL.ExecuteNonQuery();

        // Now set this address just clicked as active
        cmdSQL.CommandText = "UPDATE tblAddress SET Active = 1 WHERE ID = @ID";
        cmdSQL.Parameters.Clear();
        cmdSQL.Parameters.Add("@ID", SqlDbType.Int).Value = btnRadio.Attributes.Item("PKID");
        cmdSQL.ExecuteNonQuery();

        LoadData();     // update display
    }
}