我正在使用 asp.net 和 C# 开发一个网站,并且正在注册新用户,但是当我尝试在表格中向该用户添加许多电话时,在我按下注册之前不会显示新的注册再次按钮,但它注册了两次,但只显示一个,你能帮我吗?
这是来自 asp.net 的代码
我使用<asp:Literal ID="tablaTel" runat="server"></asp:Literal>
<div class="panel panel-default letra" id="panelTelefonos">
<div class="panel-body">
<div class="container-fluid text-center">
<!--INICIO TITULO DE PANEL TELEFONOS-->
<div class="row text-left">
<label class="control-label" for="txtRegRecNombre">
<span class="form-text">TELEFONOS DE CONTACTO:</span>
</label>
</div>
<!--FIN TITULO DE PANEL TELEFONOS-->
<!--INICIO PRIMERA FILA TELEFONOS-->
<div class="row">
<div class="col-sm-3">
<label class="control-label" for="DdTelefonos">
<span class="form-text">Tipo de Telefono:</span>
</label>
<asp:DropDownList ID="DdTelefonos" runat="server" class="form-control ns_">
<asp:ListItem Selected="True" Value="-99">-- Selecciona --</asp:ListItem>
<asp:ListItem Value="1">Celular</asp:ListItem>
<asp:ListItem value="2">Casa</asp:ListItem>
<asp:ListItem value="3">Oficina</asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-sm-3">
<label class="control-label" for="txtRegRecNumeroTel">
<span class="form-text">Numero:</span>
</label>
<asp:TextBox ID="txtRegRecNumeroTel" runat="server" CssClass="form-control ns_" MaxLength="10" onkeyup="this.value = this.value.toUpperCase();" placeholder="Inserte el Numero de Contacto"></asp:TextBox>
</div>
<div class="col-sm-6">
<label class="control-label" for="btnRegRecAgregarTel">
<br />
</label>
<br />
<asp:Button ID="btnRegRecAgregarTel" runat="server" class="btn btn-primary" Text="Agregar" Style="float:right" OnClick="btnRegRecAgregarTel_Click"/>
</div>
</div>
<!--FIN PRIMERA FILA TELEFONOS-->
<br />
<!--INICIO PANEL DE TABLA TELEFONOS-->
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-6">
<div class="panel panel-default" id="panelMuestra">
<div class="panel-body letra">
<!--INICO TABLA DE TELEFONOS-->
<div class="table-responsive" >
<asp:Literal ID="tablaTel" runat="server"></asp:Literal>
</div>
<!--FIN TABLA DE TELEFONOS-->
<!--INICIO BOTONES DE TABLA TELEFONOS-->
<div class="row">
<div class="col-sm-12">
<asp:Button ID="Button1" runat="server" class="btn btn-primary" Text="Modificar" Style="float:right"/>
<asp:Button ID="Button2" runat="server" class="btn btn-primary" Text="Eliminar" Style="float:right"/>
</div>
</div>
<!--FIN BOTONES DE TABLA TELEFONOS-->
</div>
</div>
</div>
<div class="col-sm-3"></div>
</div>
<!--FIN PANEL DE TABLA TELEFONOS-->
</div>
</div>
</div>
<!--FIN PANEL TELEFONOS-->
这是来自 C# 的代码,用于在 DB 中插入新寄存器
protected void btnRegRecAgregarTel_Click(object sender, EventArgs e)
{
int tipoNum = Int32.Parse(DdTelefonos.SelectedValue);
int num = Int32.Parse(txtRegRecNumeroTel.Text);
int empresa = Int32.Parse(DdlRegRecEmpresa.SelectedValue);
int empleado = Int32.Parse(txtRegRecIdEmpleado.Text);
this.GetData();
try
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog = GMG; Trusted_Connection = true; ");
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
com.CommandText = "INSERT INTO telefonos(TEL_ID_EMPRESA, TEL_ID_EMPLEADO, TEL_NUMERO_TELEFONO, TEL_TIPO_TELEFONO)"
+"VALUES(@TEL_ID_EMPRESA, @TEL_ID_EMPLEADO, @TEL_NUMERO_TELEFONO, @TEL_TIPO_TELEFONO); ";
com.Parameters.Add("@TEL_ID_EMPRESA", SqlDbType.Int).Value = empresa;
com.Parameters.Add("@TEL_ID_EMPLEADO", SqlDbType.Int).Value = empleado;
com.Parameters.Add("@TEL_NUMERO_TELEFONO", SqlDbType.Int).Value = num;
com.Parameters.Add("@TEL_TIPO_TELEFONO", SqlDbType.Int).Value = tipoNum;
com.ExecuteNonQuery();
}
catch (MySqlException ex)
{
//Mostrar mensaje de que existio un error al crear el nuevo registro
}
}
要加载表并连接我正在使用的数据库:
private void TablaTelefonosCarga()
{
int tam = 1;
DataTable dt = this.GetData();
//Building an HTML string.
StringBuilder html = new StringBuilder();
//Table start.
html.Append("<table class='table table-striped table-bordered text-center'>" +
"<thead>" +
"<tr class='tituloTabla'>");
html.Append("<th scope='col' style='text-align:center; vertical-align:middle'>");
html.Append("#");
html.Append("</th>");
html.Append("<th scope='col' style='text-align:center; vertical-align:middle'>");
html.Append("");
html.Append("</th>");
html.Append("<th scope='col' style='text-align:center; vertical-align:middle'>");
html.Append("Tipo Teléfono");
html.Append("</th>");
html.Append("<th scope='col' style='text-align:center; vertical-align:middle'>");
html.Append("Teléfono");
html.Append("</th>");
html.Append("</tr>" +
"</thead>" +
"<tbody> ");
//Building the Data rows.
foreach (DataRow row in dt.Rows)
{
html.Append("<tr>");
html.Append("<th scope='row' style='text-align:center; vertical-align:middle'>" + tam + "</th>");
html.Append("<td><input type= 'checkbox' id='"+"checkbox"+tam+"'/></td>");
foreach (DataColumn column in dt.Columns)
{
html.Append("<td>");
html.Append(row[column.ColumnName]);
html.Append("</td>");
}
html.Append("</tr>");
tam++;
}
//Table end.
html.Append("</tbody>" +
"</table>");
//Append the HTML string to Placeholder.
tablaTel.Text = html.ToString();
}
private DataTable GetData()
{
int empresa = Int32.Parse(DdlRegRecEmpresa.SelectedValue);
string empleado = (txtRegRecIdEmpleado.Text);
using (SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog = GMG; Trusted_Connection = true; "))
{
using (SqlCommand cmd = new SqlCommand("SELECT TEL_TIPO_TELEFONO,TEL_NUMERO_TELEFONO FROM telefonos WHERE TEL_ID_EMPLEADO = @TEL_ID_EMPLEADO"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Parameters.Add("@TEL_ID_EMPLEADO", SqlDbType.VarChar).Value = empleado;
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
return dt;
}
}
}
}
}
我希望你能帮帮我 :)