Return 从另一个控制器看问题
Return view from another controller problem
我正在做一个项目,我有 2 个控制器:AccountController,Table_1Controller。
在帐户控制器上,我 return 编辑了一个视图,其中包含另一个控制器视图的路径。
当我 运行 AccountController 的视图时,它 return 是 Table_1Controller 但 URL 是 https://localhost:44365/Account/Verify。我不明白为什么它不能 return https://localhost:44365/Table_1/Create。有人可以帮我解决这个问题吗?
AccountController.cs :
namespace LoginApp.Controllers
{
public class AccountController : Controller
{
private const string OtherController = "~/Views/Table_1/Create.cshtml";
SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();
SqlDataReader dr;
// GET: Account
[HttpGet]
public ActionResult Login()
{
return View();
}
void connectionString()
{
con.ConnectionString = "private;";
}
[HttpPost]
public ActionResult Verify(Account acc)
{
connectionString();
con.Open();
com.Connection = con;
string v = @"SELECT * FROM Table_Login WHERE Username = '" + acc.Name + "' and Password ='" + acc.Password + "'";
com.CommandText = v;
dr = com.ExecuteReader();
if(dr.Read())
{
con.Close();
return View(OtherController);
}
else
{
con.Close();
return View("Error");
}
}
Table_1Controller:
你可以使用相对路径:
return View("../Table_1/Create");
内码
if(dr.Read())
{
con.Close();
return View("../Table_1/Create");
}
或使用
return RedirectToAction("Create","Table_1");
内码
if(dr.Read())
{
con.Close();
return RedirectToAction("Create","Table_1");
}
我正在做一个项目,我有 2 个控制器:AccountController,Table_1Controller。 在帐户控制器上,我 return 编辑了一个视图,其中包含另一个控制器视图的路径。 当我 运行 AccountController 的视图时,它 return 是 Table_1Controller 但 URL 是 https://localhost:44365/Account/Verify。我不明白为什么它不能 return https://localhost:44365/Table_1/Create。有人可以帮我解决这个问题吗?
AccountController.cs :
namespace LoginApp.Controllers
{
public class AccountController : Controller
{
private const string OtherController = "~/Views/Table_1/Create.cshtml";
SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();
SqlDataReader dr;
// GET: Account
[HttpGet]
public ActionResult Login()
{
return View();
}
void connectionString()
{
con.ConnectionString = "private;";
}
[HttpPost]
public ActionResult Verify(Account acc)
{
connectionString();
con.Open();
com.Connection = con;
string v = @"SELECT * FROM Table_Login WHERE Username = '" + acc.Name + "' and Password ='" + acc.Password + "'";
com.CommandText = v;
dr = com.ExecuteReader();
if(dr.Read())
{
con.Close();
return View(OtherController);
}
else
{
con.Close();
return View("Error");
}
}
Table_1Controller:
你可以使用相对路径:
return View("../Table_1/Create");
内码
if(dr.Read())
{
con.Close();
return View("../Table_1/Create");
}
或使用
return RedirectToAction("Create","Table_1");
内码
if(dr.Read())
{
con.Close();
return RedirectToAction("Create","Table_1");
}