如何在asp.net代码中获取bootstrap文本框值并在商店程序中作为参数发送?

时间:2017-09-22 19:55:00

标签: c# jquery asp.net twitter-bootstrap stored-procedures

我在customer.aspx页面上有以下代码。现在我如何使用代码隐藏文件中的文本框和下拉按钮的值作为存储过程的参数发送?文本框和下拉列表必须仅从Bootstrap构建

<div class=" col-xs-12 col-md-6 col-lg-4">
    <div class="form-group">
        <label for="firstname">First Name</label>
        <input class="form-control" id="firstname" type="text" placeholder="Smith">
    </div>
</div>
<div class=" col-xs-12 col-md-6 col-lg-4">
    <div class="form-group">
        <label for="gender">Gender</label>
        <div class="form-group ">
        <select class="form-control col-sm-10">
            <option value="0" selected>Select Gender</option>
             <option value="1">Male </option>
             <option value="2">Female</option>
             <option value="3">Others</option>
         </select>
        </div>
    </div>

Codebehind文件:

public void Enroll_Customer()
{ 
    String CS =ConfigurationManager.ConnectionStrings["PortfolioMgmtConnectionString"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))

{

SqlCommand cmd = new SqlCommand("[spAddNewCustomer]", con);
cmd.CommandType = CommandType.StoredProcedure;               

cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = 
Request.Form("firstname");

cmd.Parameters.Add("@gender", SqlDbType.Text).Value = ddlCategory.SelectedValue;
con.Open();
cmd.executeNonQuery();
}

2 个答案:

答案 0 :(得分:0)

在ASP.NET Web窗体中,如果我们想要从回发中检索控件的数据,我们希望尽可能多地使用服务器控件。

主要原因是维持控件状态并不容易,除非您手动操作ViewState

<div class="row">
    <div class=" col-xs-12 col-md-6 col-lg-4">
        <div class="form-group">
            <asp:Label runat="server" ID="FirstNameLabel" 
                AssociatedControlId="FirstNameTextBox" Text="First Name"/>
            <asp:TextBox runat="server" ID="FirstNameTextBox"
                CssClass="form-control" placeholder="Smith" />
        </div>
    </div>
    <div class=" col-xs-12 col-md-6 col-lg-4">
        <div class="form-group">
            <label for="gender">Gender</label>
            <div class="form-group">
                <asp:DropDownList runat="server" ID="GenderDropDownList" 
                    CssClass="form-control">
                    <asp:ListItem Value="0" Text="Select Gender" Selected="True" />
                    <asp:ListItem Value="1" Text="Male" />
                    <asp:ListItem Value="2" Text="Female" />
                    <asp:ListItem Value="3" Text="Others" />
                </asp:DropDownList>
            </div>
        </div>
    </div>
</div>

代码背后

public void Enroll_Customer()
{
    string connectionString = ConfigurationManager
        .ConnectionStrings["PortfolioMgmtConnectionString"].ConnectionString;

    using (var conn = new SqlConnection(connectionString))
    using (var cmd = new SqlCommand("spAddNewCustomer", conn))
    {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@FirstName", FirstNameTextBox.Text);
        cmd.Parameters.AddWithValue("@Gender", GenderDropDownList.SelectedValue);
        conn.Open();
        cmd.ExecuteNonQuery();
    }
}

答案 1 :(得分:0)

如果你想使用

Request.Form("firstname"); 

在您的表单中,输入的名字应该是

name="firstname"; 

但现在在你的表单中,它只有id属性。 它不属于bootstrap。