按钮单击时在另一页上重定向

时间:2016-09-26 11:44:57

标签: asp.net-mvc-5

我正在创建一个网络应用程序,我有2个文本框和一个带有输入字段的按钮

<input id="Login" type="submit" onclick="location.href='@Url.Action("loggedin","logincontroller")'" style="" width="200" height="34" value="submit" />

我的控制器看起来像

public ActionResult loggedin(string role, string username, string password)
{
    webservice.loginservice a= new webservice.loginservice();
    a.getlogintype(role, username, password);
    return View();
}

使用我的webservice

[WebMethod]
public string getlogintype(string role, string username, string password)
{
    string strtru="";
    string strfalse="";
    sqlcon;
    SqlCommand cmd = new SqlCommand("select * from [admin] where userid='" + username + "' and pass ='" + password + "'", con);
    con.Open();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    if (dt.Rows.Count > 0)
    {
        strtru = "true";

    }
    else
    {
        strfalse = "false";

    }
    con.Close();
}

我的控制器正在调用webservice,现在我想知道如何在成功验证时重定向页面。这是我使用mvc的第一个应用程序我知道这个应用程序有很多错误(请让我知道所有的错误)。

我在mvc 5上创建应用程序,我只使用输入字段而不是@Html语法,因为我想设计它像(beta2.hti-india.com)这个应用程序是由我在asp.net上创建的c#

2 个答案:

答案 0 :(得分:0)

在您的操作方法loggedin(..)中,您应该使用RedirectToAction()返回一个新视图

return RedirectToAction("MyAction", "MyController");

答案 1 :(得分:0)

您的网络服务代码看起来不错。

代码中的更改。

public ActionResult loggedin(string role, string username, string password)
{
 webservice.loginservice a= new webservice.loginservice();
 string result = a.getlogintype(role, username, password);
 if(result == "true")
 {
   // redirect to your application home page or other page
   return RedirectToAction("OtherAction", "Controller");
 }
 else
 {
   return View();
 }  
}

尝试使用这是 .cshtml 查看

的更好方法
@using (Html.BeginForm("loggedin", "controller", new { ReturnUrl = "" }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{

<!-- your textbox here-->

    <input id="Login" type="submit" value="submit">

}