【问题标题】:onclick button save data .cshtmlonclick 按钮保存数据 .cshtml
【发布时间】:2016-04-07 09:13:33
【问题描述】:

我有一个 asp.net mvc razor 文件。按钮需要向数据库发送数据。这是我的代码。数据库已连接并在服务器上运行。我只是无法获得将数据发送到数据库的按钮。我尝试过使用 javascript 的 onclick 事件,但似乎没有任何效果。有人可以解释我应该怎么做吗?这是我第一次使用 .cshtml,我真的不知道如何解决这个问题。

问题已解决。 我使用了错误的名称..我在 .cshtml 的 C# 部分中提到了输入的 id 而不是名称..

@{
Validation.RequireField("achternaam", "Achternaam is verplicht.");
Validation.RequireField("voornaam", "Voornaam is verplicht.");
Validation.RequireField("organisatie", "Organisatie is verplicht.");
Validation.RequireField("email", "Email is verplicht.");
Validation.RequireField("datum", "Datum is verplicht.");
Validation.RequireField("tijd", "Tijd is verplicht.");

var achternaam = "";
var voornaam = "";
var organisatie = "";
var email = "";
var datum = "";
var tijd = "";

if (IsPost && Validation.IsValid())
{
    achternaam = Request.Form["achternaam"];
    voornaam = Request.Form["voornaam"];
    organisatie = Request.Form["organisatie"];
    email = Request.Form["email"];
    datum = Request.Form["datum"];
    tijd = Request.Form["tijd"];


    using (var db = new Blub._1.Database.blubEntities())
    {
        // Insert
        var bezoeker = new Blub._1.Database.visitor
        {
            AchterNaam = achternaam,
            VoorNaam = voornaam,
            Bedrijf = organisatie,
            DatumBezoek = Convert.ToDateTime(datum),
            Email = email
        };                   

    Response.Redirect("~Bezoeker");
}

<div id="header">
    <h1>Als voorbeeld ...</h1>
</div>

<div id="nav">
    <br />
    <a href="/OverzichtWerknemer">Overzicht</a>
    <br />
    <a href="/Bezoeker">Nieuwe bezoeker</a>
    <br />
    <a href="/Contractor">Nieuwe contractor</a>
</div>

<div id="section">
    <form name="login" action="~/OverzichtWerknemer.cshtml" method="post" accept-charset="utf-8">
        <table>
            <tr>
                <td><b>Achternaam*:</b></td>
                <td>
                    <input id="achternaam" name="LastName" type="text" maxlength="60" style="width:146px; border:1px solid #999999" required />
                </td>
            </tr>
            <tr>
                <td><b>Voornaam*:</b></td>
                <td>
                    <input id="voornaam" name="FirstName" type="text" maxlength="60" style="width:146px; border:1px solid #999999" required/>
                </td>
            </tr>
            <tr>
                <td><b>Organisatie*:</b></td>
                <td><input id="organisatie" name="Organization" type="text" maxlength="60" style="width:300px; border:1px solid #999999" required /></td>
            </tr>
            <tr>
                <td><b>Emailadres*:</b></td>
                <td><input id="email" name="FromEmailAddress" type="text" maxlength="60" style="width:300px; border:1px solid #999999" required/></td>
            </tr>
            <tr>
                <td><b>Dag van bezoek*:</b></td>
                <td><input id="datum" name="FromDate" type="date" style="width:300px; border:1px solid #999999" required /></td>
            </tr>
            <tr>
                <td><b>Tijdstip*</b></td>
                <td><input id="tijd" name="TimeVisit" type="time" maxlength="60" style="width:300px; border:1px solid #999999" required /></td>
            </tr>
            <tr>
                <td colspan="2">
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    * - Verplicht veld. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="submit" value="Registreer" />

                </td>
            </tr>
        </table>
        <br />
    </form>
</div>

<div id="footer">
    Copyright
</div>

【问题讨论】:

  • 方法名在哪里?
  • 这个 .cshtml 文件中不需要方法名

标签: c# asp.net-mvc button razor onclick


【解决方案1】:

我认为您必须有一个带有如下操作的表单标签:

<form method="post" action="/ControllerName/ActionName">

或者按照#Kypaz 的建议使用助手:

@using (Html.BeginForm("ActionName", "ControllerName", null (adapt to route), FormMethod.Post))
{

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

}

【讨论】:

    【解决方案2】:

    最好的方法是使用 url helper

    <form method="post" action="@Url.Action("MyAction", "MyController")" >
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多