javascript - 如何使用模型绑定(bind)器将数据从表单+跨度值发布到数据库

标签 javascript asp.net asp.net-mvc-5 modelbinder

好时光。 我是 Asp.net-MVC 新手。

我有一个表单,它从用户那里获取数据,并且此页面中有一个范围,我想将输入数据和范围值发布到我的数据库。

我想使用模型绑定(bind)器,但我不知道如何命名与我的模型相同的跨度。

这是我的行动:

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "Id,TourId,FirstName,LastName,Email,Phone,Comment,FrequentTraveler,TravelersCount,Date,ContactTimePreference,Country,Archived")] Request request)
    {
        if (ModelState.IsValid)
        {
            db.Requests.Add(request);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(request);
    } 

span 正在从 JavaScript 中获取值(value)

<span class="col-md-5" id="selecteddate"></span>

这是我的表格,但我只在这里写了其中一个速记输入。 :

 <form role="form" method="post" action="/Tour">
  @Html.AntiForgeryToken()

 <div class="form-group">
 <label for="FName">First Name:</label>
 <input type="text" name="FirstName" class="form-control" id="FName" placeholder="Enter FirstName" />


 </div>

</form>

我想将 span id="selecteddate"的值发布到名为 Date 的列中的数据库

如果有人能告诉我这怎么可能,或者您有更好的建议吗?

最佳答案

解决此问题的一个解决方案是添加 hidden html input给您<from> 。当您提交时,您可以使用 JavaScript 将其值写入您的范围作为副本。

<form role="form" method="post" action="/Tour" onsubmit="prepare()">
  @Html.AntiForgeryToken()

 <div class="form-group">
 <label for="FName">First Name:</label>
 <input type="text" name="FirstName" class="form-control" id="FName" placeholder="Enter FirstName" />


 </div>
<input type="hidden" name="Date" />
</form>

@section Scripts {
  <script type="text/javascript">
    function prepare() {
        document.getElementsByName("Date")[0].value = document.getElementById("selecteddate").innerHtml;
    }
  </script>
}

关于javascript - 如何使用模型绑定(bind)器将数据从表单+跨度值发布到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38036836/

相关文章:

javascript - CSS 淡入/淡出在重复时无法正常工作

javascript mouseover/out 结合点击行为

c# - ASP.NET MVC - 模型绑定(bind)不同实体中具有相同名称的多个参数 - GET 和 POST 不同吗?

c# - MVC 输入 Action 方法

c# - 使用文本 JSON 属性序列化匿名类型

mysql - 我如何修复 "Specified key was too long; max key length is 1000 bytes"

javascript - 跨浏览器 AJAX 功能动态加载 HTML

Javascript:如果用户请求,多次添加相同的表单

c# - 为什么在将 ApplicationCookie 与 ASP.Net Identity 一起使用之前调用 SignOut(DefaultAuthenticationTypes.ExternalCookie)?

c# - 粘性页脚确实与需要滚动的页面上的文本重叠