我想从Web客户端获取值并将其保存在数据库中,但我不知道如何从cshtml调用我的控制器方法
@{
@ViewBag.Title;
@model Homi.Controllers.HomeController
Homi.Controllers.HomeController obj = (Homi.Controllers.HomeController)ViewData["h"];
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
@Styles.Render("~/Content/style.css")
@Styles.Render("~/Content/rest.css")
@Styles.Render("~/Content/font.css")
@Styles.Render("~/Content/font2.css")
</head>
<body>
Register
<div>
<input type="username" id="Username required="required" />
</div>
<div>
<input type="password" id="Password" required="required" />
<label for="Password">Password</label>
</div>
<div>
<input type="password" id="Repeat Password" required="required"/>
<label for="Repeat Password">Repeat Password</label>
</div>
<div>
<button><span>Next</span></button>
</div>
@Scripts.Render("~/Content/index.js")
@Scripts.Render("~/Content/jquery.js")
</body>
</html>
例如,我有这个代码,但你知道它不起作用:
<div onclick=@obj.setp(username.text, password.text)>
<button><span>Next</span></button>
</div>
我想点击&#34;下一步&#34;按我的方法调用。 这是我的控制器的一部分,我想要调用的方法:
namespace Homi.Controllers{
public class HomeController : Controller
{
public ActionResult setp(string usename, string password)
{
WebAdmin wa = new WebAdmin();
wa.InsertToDb(username, password);
return View("userAccess");
}}}
对我来说非常重要的是我不会改变我的HTML代码风格
谢谢你的帮助
答案 0 :(得分:1)
将输入字段保留在表单标记内并提交表单
@using(Html.BeginForm("setp","home"))
{
<input type="text" name="Username" required="required" />
<input type="text" name="Password" required="required" />
<input type="submit" value="Next"/>
}
当剃刀执行该页面时,它会在form
行的位置生成@using(Html.BeginForm
标记,其中操作设置为"home/setp"
(检查浏览器中的查看源)。只要您的表单元素名称与您的HttpPost操作方法参数名称匹配,文本框的值将在提交表单时显示。
[HttpPost]
public ActionResult setp(string Username, string password)
{
//do something
}