Souhaitez afficher les données dans gridview lors d'un clic sur le bouton
J'ai deux zones de texte, une liste déroulante et deux du bouton. Quand je entrer une valeur dans la zone de texte, sélectionnez la valeur de liste déroulante et appuyez sur button1
, mes données sont stockées dans la base de données et je peut voir que dans ma grille quand je clique sur button2
.
Mais le problème est que lorsque j'appuie sur button2
sans entrer dans les détails, il devrait afficher une erreur de validation à laquelle je rajoute sur mes zones de texte et menu déroulant.
code pour aspx.cs:
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=EMS;Integrated Security=True");
con.Open();
string UserName = TextBox1.Text;
string Password = TextBox2.Text;
string Role = DropDownList1.Text;
using (SqlCommand cmd = con.CreateCommand())
{
cmd.CommandText = "insert into Login(UserName,Password,Role) values('" + UserName + "','" + Password + "','" + Role + "')";
cmd.Parameters.AddWithValue("@UserName", TextBox1.Text);
cmd.Parameters.AddWithValue("@Password", TextBox2.Text);
cmd.Parameters.AddWithValue("@Role", DropDownList1.Text);
cmd.ExecuteNonQuery();
}
con.Close();
TextBox1.Text = string.Empty;
TextBox2.Text = string.Empty;
DropDownList1.Text = string.Empty;
TextBox1.Focus();
}
protected void Button2_Click1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=EMS;Integrated Security=True");
con.Open();
using (SqlCommand cmd = con.CreateCommand())
{
SqlCommand com = new SqlCommand("Select * from Login", con);
SqlDataAdapter sda = new SqlDataAdapter(com);
DataSet ds = new DataSet();
sda.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
con.Close();
}
code aspx:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.style1
{
width: 100%;
height: 178px;
}
.style3
{
width: 87px;
}
.style4
{
width: 87px;
height: 110px;
}
.style5
{
height: 110px;
}
</style>
</head>
<body style="height: 387px">
<form id="form1" runat="server">
<div>
<tr>
<td class="style3">
User name</td>
<td>
<asp:TextBox ID="TextBox1" runat="server" style="margin-left: 0px"> </asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="Enter User Name" Font- Bold="True">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style3">
Password</td>
<td>
<asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="TextBox2" ErrorMessage="Enter Password" Font- Bold="True">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style3">
Select Role</td>
<td>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>Admin</asp:ListItem>
<asp:ListItem>Manager</asp:ListItem>
<asp:ListItem>User</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="DropDownList1" ErrorMessage="Select Role">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td class="style5">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Sumit" />
<asp:ValidationSummary ID="ValidationSummary1" runat="server" Height="65px" />
</td>
</tr>
</table>
</div>
<p>
<asp:Button ID="Button2" runat="server" onclick="Button2_Click1" Text="Show" />
</p>
<p>
- Ses un bon montage. en mesure de comprendre tout cela beaucoup mieux
Vous devez vous connecter pour publier un commentaire.
Veuillez définir la propriété validationgroup pour la deuxième bouton à n'importe quelle valeur, comme ci-dessous:
et laissez-moi savoir si le problème est toujours là.
Vérifier où avez-vous écrit
De sorte que vous ne serez pas en mesure d'accéder à sa valeur sur button2_click(). Erreur de Validation est renvoyée puisque la contrôles de zone de texte est vide. Ont point d'arrêt et vérifier ce qui ne va pas et de le corriger.
Suggestion
À l'aide de nbsp; pour l'espace dans le balisage de rendre votre page de manière différente dans les différents navigateurs. Je vous suggère d'utiliser
pour des styles en ligne.
Vous pouvez essayer de donner
ValidationGroup
pour les contrôles que vous souhaitez valider.En Utilisant cette propriété, vous pouvez définir la validation sur les contrôles particuliers.
Essayez de faire comme ceci. Et laissez-moi savoir si cela résout votre problème ou pas.
Essayez de régler une propriété causesvalidation à vrai pour le bouton si tu veux de validation à se produire sur le côté client..
Marquer pour SUPPRESSION: [j'ai ajouté mes échantillons, tant pis pour modifier]
Code:
Supprimer la ligne :