首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cshtml将模型传递给JS提交函数?

cshtml将模型传递给JS提交函数?
EN

Stack Overflow用户
提问于 2020-04-06 12:55:49
回答 1查看 57关注 0票数 1

有办法将Model.SortOrder编号传递给JS提交函数吗?

JS

代码语言:javascript
复制
  $("#pubmed-form").submit(function (event) {
            event.preventDefault();
            console.log('pubmed-form');
    });


  <div id="pubmed-container" style="@(Model.Type == "Pubmed" ? "display:block" : "display:none")">
        <form id="pubmed-form" class="form-horizontal">
            <div id="search-grid-container" style="text-align:center;margin: 20px 0;">
                @(Model.Text)
            </div>
            <hr />

            <div class="text-center">
                <button type="submit" class="btn btn-primary modal-submit-btn">Save</button>
                <button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
            </div>
        </form>
    </div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 13:21:37

有很多方法可以做到这一点,这取决于你的确切需求。您可以将模型属性作为data属性添加到form元素上,当submit事件发生时可以读取该属性:

代码语言:javascript
复制
$("#pubmed-form").submit(function(e) {
  e.preventDefault();
  var sortOrder = $(this).data('sortorder');
  console.log(sortorder);
});
代码语言:javascript
复制
<div id="pubmed-container" style="@(Model.Type == "Pubmed" ? "display: block" : "display: none")">
  <form id="pubmed-form" class="form-horizontal" data-sortorder="@Model.SortOrder">
    <div id="search-grid-container">
      @(Model.Text)
    </div>
    <hr />
    <div class="text-center">
      <button type="submit" class="btn btn-primary modal-submit-btn">Save</button>
      <button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
    </div>
  </form>
</div>

或者,您可以使用一个隐藏字段,这样您就根本不需要任何JS了,前提是您没有使用AJAX:

代码语言:javascript
复制
<div id="pubmed-container" style="@(Model.Type == "Pubmed" ? "display: block" : "display: none")">
  <form id="pubmed-form" class="form-horizontal">
    <div id="search-grid-container">
      @(Model.Text)
    </div>
    <hr />
    <div class="text-center">
      <button type="submit" class="btn btn-primary modal-submit-btn">Save</button>
      <button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
    </div>
    @Html.HiddenFor(m => m.SortOrder)
  </form>
</div>

另一种方法是直接将模型值输出到JS,尽管这可以说将JS/C#逻辑绑定得太紧密了:

代码语言:javascript
复制
$("#pubmed-form").submit(function(e) {
  e.preventDefault();
  var sortOrder = '@Model.SortOrder'; // remove the quotes if the model property is numeric
  console.log(sortorder);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61060376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档