我是C#,ASP.NET的初学者。 我想要的是点击提交'按钮,需要显示消息'您的注册成功'。 但是当我点击这里时,没有任何显示,但它在其他电脑上显示相同代码的消息。 有人可以帮帮我吗?我的项目中有任何配置错误吗?
代码在这里:
<form id="form1" runat="server">
<div>
</div>
<table class="style1">
<tr>
<td class="style3">
Username</td>
<td class="style6">
<asp:TextBox ID="uname" runat="server" Width="180px"></asp:TextBox>
</td>
<td class="style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="uname" ErrorMessage="Username is required" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style3">
Email</td>
<td class="style6">
<asp:TextBox ID="email" runat="server" Width="180px"></asp:TextBox>
</td>
<td class="style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="email" ErrorMessage="Email is required" ForeColor="Red"></asp:RequiredFieldValidator>
<br />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="email" ErrorMessage="You must enter the valid email id"
ForeColor="Red"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td class="style3">
Password</td>
<td class="style6">
<asp:TextBox ID="pass" runat="server" TextMode="Password" Width="180px"></asp:TextBox>
</td>
<td class="style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="pass" ErrorMessage="Password is required" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style3">
Confirm Password</td>
<td class="style6">
<asp:TextBox ID="passr" runat="server" TextMode="Password" Width="180px"></asp:TextBox>
</td>
<td class="style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="passr" ErrorMessage="Confirm password is required"
ForeColor="Red"></asp:RequiredFieldValidator>
<br />
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="pass" ControlToValidate="passr"
ErrorMessage="Both passwords must be same" ForeColor="Red"></asp:CompareValidator>
</td>
</tr>
<tr>
<td class="style3">
Country</td>
<td class="style6">
<asp:DropDownList ID="country" runat="server" Width="180px">
<asp:ListItem>Select Country</asp:ListItem>
<asp:ListItem>USA</asp:ListItem>
<asp:ListItem>UK</asp:ListItem>
<asp:ListItem>GERMANY</asp:ListItem>
<asp:ListItem>FRANCE</asp:ListItem>
<asp:ListItem>INDIA</asp:ListItem>
</asp:DropDownList>
</td>
<td class="style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="country" ErrorMessage="Select a country name"
ForeColor="Red" InitialValue="Select Country"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td class="style7">
<asp:Button ID="submit" runat="server" Text="Submit" />
</td>
<td class="style5">
<input id="Reset1" type="reset" value="reset" /></td>
</tr>
<tr>
<td class="style2">
</td>
<td class="style6">
</td>
<td>
</td>
</tr>
</table>
</form>
}
ASP.NET
<!doctype html>
<html>
<head>
<?php include($_SERVER['DOCUMENT_ROOT']."/PATH-TO-FILE/head.php"); ?>
</head>
<body>
...
</body>
</html>
答案 0 :(得分:2)
您需要了解服务器端和客户端之间的区别。
服务器端是服务器上发生的所有事情(例如ASP,ASP.NET,PHP),用于创建发送到浏览器的HTML。它还处理用户提交内容(回发后)时浏览器返回的信息。
客户端是收到HTML后在浏览器上发生的所有事情,或者用户在页面上执行某些操作(如单击元素)。
您正在尝试在服务器上运行Windows应用程序样式MessageBox.Show
......这样做无法正常运行。
如果您希望浏览器显示&#34;警告&#34;窗口(有点像MessageBox
)然后您需要将客户端脚本发送到浏览器。试试这个......
protected void submit_Click(object sender, EventArgs e)
{
Response.Write("Your registration is succesful");
var script = "window.alert('Test Display');";
ClientScript.RegisterStartupScript(this.GetType(), "message", script, true);
}
根据OP的评论......
我的问题是Response.Write(&#34;您的注册成功&#34;);不工作
而不是使用Response.Write
使用<asp:Literal>
控件(这使您可以将控件准确定位到您需要的位置)并设置它的.Text
属性(请记住这一点将保留在回发后,因此您可能需要清除它。)
您还可以使用<asp:Label>
,这不仅可以让您定位,还可以包含.CssClass
或.Style
属性,以便更好地进行格式化。
答案 1 :(得分:1)
如果要显示确认消息框,请尝试在.aspx页面上使用jquery。你可以添加这样的功能
function confirmationAccept() {
return confirm("Accept?");
}
然后在onclient上单击添加属性,如下所示:
<asp:Button ID="addButton" runat="server" Text="Add" OnClientClick="return confirmationAccept()">
答案 2 :(得分:0)
您可以使用ClientScript.RegisterStartupScript
显示javascript警告消息。