无法在代码隐藏中获取表单值以执行插入到数据库中

本文关键字:执行 插入 数据库 获取 代码 隐藏 表单 | 更新日期: 2023-09-27 18:33:50

我有一个aspx数据输入页,它接受用户输入某些字段并插入到数据库中。

有大约 2 个部分(在问题的其余部分称为 S1 和 S2(

S1 有 3 个文本输入控件和 2 个单选按钮。同样,S2 也有 3 个文本输入控件和 2 个单选按钮。

期待什么?

单击提交后,隐藏的代码必须将 S1 字段的值插入 S1 表中,同样,S2 字段的值必须成功插入 S2。

出了什么问题?

数据库中仅填充 S1 表值,S2 表为空。S2 中不输入任何记录。

在调试器的帮助下,我发现用户在 S1 单选按钮之后输入的所有输入字段值根本没有被接受。它们是空白的。

SQL 查询都是正确的。我什至尝试在 aspx 页面上将 S1 部分与 S2 交换。当我这样做时,S2 值被输入到数据库中,而不是 S1。同样,未读取 S2 单选按钮之后存在的 S1 输入字段值。

有人告诉我这是某种回发问题。

第 1 节 (S1( 的 ASPX 代码 [S2 代码类似]

<asp:TextBox ID="txtTitle" runat="server" CssClass="form-control lw-sharp-corners" placeholder="Enter Release Title"></asp:TextBox>
<asp:TextBox ID="txtReleaseDescription" runat="server" CssClass="form-control lw-sharp-corners" placeholder="Enter Release Description"></asp:TextBox>
<asp:TextBox ID="txtReleaseUrl" runat="server" CssClass="form-control lw-sharp-corners" placeholder="Enter Release Url"></asp:TextBox>
<div class="form-group" id="ActivateRelease">
<label for="rdoActivateRelease" id="lblActivateRelease">Activate Release?</label>
<div class="radio">
    <label for="rdoActivateReleaseYes" id="lblActivateReleaseYes">
        <asp:RadioButton ID="rdoActivateReleaseYes" GroupName="rdoActivateRelease" runat="server" ClientIDMode="Static" />
        Yes
    </label>
    <label for="rdoActivateReleaseNo" id="lblActivateReleaseNo">
        <asp:RadioButton ID="rdoActivateReleaseNo" GroupName="rdoActivateRelease" runat="server" ClientIDMode="Static" />
        No
    </label>
</div>

第 1 节 (S1( 的 CS 页面代码 [S2 代码类似]

protected void btnMap_Click(object sender, EventArgs e)
{
    string ReleaseTitle = "";
    SqlCommand cmd1 = new SqlCommand("sp_InsertRelease", con);
    cmd1.CommandType = CommandType.StoredProcedure;
    cmd1.Parameters.Add("@Title", SqlDbType.NVarChar).Value = txtTitle.Text;
    cmd1.Parameters.Add("@ReleaseDescription", SqlDbType.NVarChar).Value = txtReleaseDescription.Text;
    cmd1.Parameters.Add("@ReleaseUrl", SqlDbType.NVarChar).Value = txtReleaseUrl.Text;
    cmd1.Parameters.Add("@DeviceType", SqlDbType.Int).Value = 2;
    int ActivateState1;
    if (rdoActivateReleaseYes.Checked)
    {
        ActivateState1 = 1;
    }
    else
    {
        ActivateState1 = 0;
    }
    cmd1.Parameters.Add("@IsActive", SqlDbType.Bit).Value = ActivateState1;
    con.Open();
    SqlDataReader drRelease = cmd1.ExecuteReader();
    while (drRelease.Read())
    {
        ReleaseTitle = drRelease.GetValue(0).ToString();
    }
    con.Close();

请告诉我如何解决这个问题。如果您需要任何代码,请告诉我。

无法在代码隐藏中获取表单值以执行插入到数据库中

你能添加完整的aspx代码吗?这两个部分是否属于同一个 FORM 标记?