从cshtml(asp.net mvc)向控制器发送textBox值

时间:2016-04-20 22:22:26

标签: html css asp.net-mvc razor

我想从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代码风格

谢谢你的帮助

1 个答案:

答案 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
}