2015-05-11 36 views
1

我正在使用Bootstrap(HTML & CSS),Microsoft Access和ASP.NET制作Web服务项目。如何将HTML参数传递给ASP.NET?

我发现了一个代码W3Schools的引导登录表单:

<body> 
 
    <form method="POST" action="Login.aspx"> 
 
     <div class="container"> 
 
      <h2>Login area</h2> 
 
      <form class="form-inline" role="form"> 
 
       <div class="form-group"> 
 
        <label for="email">UserName:</label> 
 
         <input type="text" class="form-control" id="username1" name="username" placeholder="Enter UserName"/> 
 
       </div> 
 

 

 
    <div class="form-group"> 
 
     <label for="pwd">Password:</label> 
 
      <input type="password" class="form-control" id="password1" name="password" placeholder="Enter password"/> 
 
    </div> 
 
    
 
    <button type="submit" onclick="SubmitForm" class="btn btn-default">Submit</button> 
 
    </form> 
 
    </div>

这是C#代码:

protected void SubmitForm(object sender, EventArgs e) 
{ 
    if (Page.IsValid) 
    { 
     string name=string.Format("{0}",Request.Form["username"]); 
     string pass = string.Format("{0}", Request.Form["password"]); 

     int userId; 
     userId = LoginService.GetUserId(name, pass, 0, 1); 

     if (userId == 0) 
     { 
      MessageBoxShow(Page, "UserName does not exists."); 

     } 
     else 
     { 
      MessageBoxShow(Page, "You are successfully connected."); 
      Session["userId"] = userId.ToString(); 
      SalService.DeleteFromSal(); 
     } 
    } 

} 

当我运行的网页,并输入用户名和密码,页面不显示消息,我不能连接用户名。

回答

0

放一个断点,检查代码隐藏中发生了什么,以及你接收到了什么值。

此外,请尝试使用onserverclick而不是onclick

0
<input id ="txt" runat="server" type="text"> 

和behine

[email protected] 
+0

我不明白我应该在后面写什么。 – Linki

0

你的HTML使用ASP服务器端控件未格式化,但你仍然可以得到它的工作。您必须将您的按钮更改为提交按钮。

<input type="submit" value="OK"/> 

然后更改您的代码,如下所示。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (IsPostBack) 
    { 
     string name=string.Format("{0}",Request.Form["username"]); 
     string pass = string.Format("{0}", Request.Form["password"]); 

     int userId; 
     userId = LoginService.GetUserId(name, pass, 0, 1); 

     if (userId == 0) 
     { 
      MessageBoxShow(Page, "UserName does not exists."); 

     } 
     else 
     { 
      MessageBoxShow(Page, "You are successfully connected."); 
      Session["userId"] = userId.ToString(); 
      SalService.DeleteFromSal(); 
     } 
    } 

} 

确保后面的代码是一个名为页login.aspx的和应该被称为login.aspx.cs

应该有一个login.aspx的页面,并应具有有效的页面指令指点到后面的代码。

您还需要一个MessageBoxShow函数,并且应引用Webservice。